MeVisLabToolboxReference
MeVis/Foundation/Sources/OSXSupport/macApplication.h
Go to the documentation of this file.
00001 // **InsertLicense** code author="Felix Ritter" version="1.0"
00002 
00006 
00007 #ifndef __macApplication_H
00008 #define __macApplication_H
00009 #if defined(__APPLE__)
00010 
00011 #include <string>
00012 
00013 namespace macx {
00014   
00015   class ApplicationPrivate;
00016   
00018   class Application
00019   {
00020     
00021 #ifndef OSXSUPPORTSTANDALONE
00022     
00023   private:
00024     
00025     static ApplicationPrivate *priv();
00026     
00027   public:
00028     
00030     static void indicateBusyState(const std::string &message = std::string());
00032     static void removeBusyStateIndicator();
00033     
00034 #endif
00035     
00036   public:
00037     
00039     static void initializeCocoa();
00040     
00042     enum {
00043       ApplicationPresentationDefault         = 0,          
00044       ApplicationPresentationAutoHideDock    = (1 << 0),   
00045       ApplicationPresentationHideDock        = (1 << 1),   
00046       ApplicationPresentationAutoHideMenuBar = (1 << 2),   
00047       ApplicationPresentationHideMenuBar     = (1 << 3)    
00048     };
00050     typedef unsigned int PresentationOptions;
00051     
00053     static void setPresentationOptions(PresentationOptions options);
00054     
00056     static bool isActive(pid_t pid = 0);
00057 
00059     static bool activate(pid_t pid = 0, uint32_t timeout = 800);
00060     
00062     static void enableSuddenTermination();
00064     static void disableSuddenTermination();
00065     
00067     static void enableRelaunchOnLogin();
00069     static void disableRelaunchOnLogin();
00070     
00072     static void disableWindowRestoration();
00073   };
00074   
00075 }
00076 
00077 #endif  // __APPLE__
00078 #endif  // __macApplication_H