]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/mainframe.h
Merge branch 'illwieckz/vfs' fix !101
[xonotic/netradiant.git] / radiant / mainframe.h
index d011f3198cc32c8ec8d3fc9ec44a5db97fb0d69d..6ff808da8d2918c3f55cdfc6197a702070dfe351 100644 (file)
@@ -1,27 +1,28 @@
 /*
-Copyright (C) 1999-2006 Id Software, Inc. and contributors.
-For a list of contributors, see the accompanying CONTRIBUTORS file.
+   Copyright (C) 1999-2006 Id Software, Inc. and contributors.
+   For a list of contributors, see the accompanying CONTRIBUTORS file.
 
-This file is part of GtkRadiant.
+   This file is part of GtkRadiant.
 
-GtkRadiant is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+   GtkRadiant is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
 
-GtkRadiant is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GtkRadiant is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GtkRadiant; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
+   You should have received a copy of the GNU General Public License
+   along with GtkRadiant; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
 
-#if !defined(INCLUDED_MAINFRAME_H)
+#if !defined( INCLUDED_MAINFRAME_H )
 #define INCLUDED_MAINFRAME_H
 
+#include <uilib/uilib.h>
 #include "gtkutil/window.h"
 #include "gtkutil/idledraw.h"
 #include "gtkutil/widget.h"
@@ -30,14 +31,15 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include "qerplugin.h"
 
 class IPlugIn;
+
 class IToolbarButton;
 
 class XYWnd;
+
 class CamWnd;
+
 class ZWnd;
 
-typedef struct _GtkWidget GtkWidget;
-typedef struct _GtkWindow GtkWindow;
 
 const int c_command_status = 0;
 const int c_position_status = 1;
@@ -46,200 +48,236 @@ const int c_texture_status = 3;
 const int c_grid_status = 4;
 const int c_count_status = 5;
 
-class MainFrame
-{
+class MainFrame {
 public:
-  enum EViewStyle
-  {
-    eRegular = 0,
-    eFloating = 1,
-    eSplit = 2,
-    eRegularLeft = 3,
-  };
-
-  MainFrame();
-  ~MainFrame();
-
-  GtkWindow* m_window;
-
-  CopiedString m_command_status;
-  CopiedString m_position_status;
-  CopiedString m_brushcount_status;
-  CopiedString m_texture_status;
-  CopiedString m_grid_status;
+    enum EViewStyle {
+        eRegular = 0,
+        eFloating = 1,
+        eSplit = 2,
+        eRegularLeft = 3,
+    };
+
+    MainFrame();
+
+    ~MainFrame();
+
+    ui::Window m_window{ui::null};
+
+    CopiedString m_command_status;
+    CopiedString m_position_status;
+    CopiedString m_brushcount_status;
+    CopiedString m_texture_status;
+    CopiedString m_grid_status;
 private:
 
-  void Create();
-  void SaveWindowInfo();
-  void Shutdown();
+    void Create();
+
+    void SaveWindowInfo();
+
+    void Shutdown();
 
-  GtkWidget* m_vSplit;
-  GtkWidget* m_hSplit;
-  GtkWidget* m_vSplit2;
+    ui::Widget m_vSplit{ui::null};
+    ui::Widget m_hSplit{ui::null};
+    ui::Widget m_vSplit2{ui::null};
 
-  XYWnd* m_pXYWnd;
-  XYWnd* m_pYZWnd;
-  XYWnd* m_pXZWnd;
-  CamWnd* m_pCamWnd;
-  ZWnd* m_pZWnd;
-  XYWnd* m_pActiveXY;
+    XYWnd *m_pXYWnd;
+    XYWnd *m_pYZWnd;
+    XYWnd *m_pXZWnd;
+    CamWnd *m_pCamWnd;
+    ZWnd *m_pZWnd;
+    XYWnd *m_pActiveXY;
 
-  bool m_bSleeping;
+    bool m_bSleeping;
 
-  GtkWidget *m_pStatusLabel[c_count_status];
+    void *m_pStatusLabel[c_count_status];
 
 
-  EViewStyle m_nCurrentStyle;
-  WindowPositionTracker m_position_tracker;
+    EViewStyle m_nCurrentStyle;
+    WindowPositionTracker m_position_tracker;
 
-  IdleDraw m_idleRedrawStatusText;
+    IdleDraw m_idleRedrawStatusText;
 
 public:
 
-  bool IsSleeping()
-  {
-    return m_bSleeping;
-  }
-  void OnSleep();
-
-  void SetStatusText(CopiedString& status_text, const char* pText);
-  void UpdateStatusText();
-  void RedrawStatusText();
-  typedef MemberCaller<MainFrame, &MainFrame::RedrawStatusText> RedrawStatusTextCaller;
-
-  void SetGridStatus();
-  typedef MemberCaller<MainFrame, &MainFrame::SetGridStatus> SetGridStatusCaller;
-
-  void SetActiveXY(XYWnd* p);
-  XYWnd* ActiveXY()
-  {
-    return m_pActiveXY;
-  };
-  XYWnd* GetXYWnd()
-  {
-    return m_pXYWnd;
-  }
-  XYWnd* GetXZWnd()
-  {
-    return m_pXZWnd;
-  }
-  XYWnd* GetYZWnd()
-  {
-    return m_pYZWnd;
-  }
-  ZWnd* GetZWnd()
-  {
-    return m_pZWnd;
-  }
-  CamWnd* GetCamWnd()
-  {
-    return m_pCamWnd;
-  }
-
-  void ReleaseContexts();
-  void CreateContexts();
-
-  EViewStyle CurrentStyle()
-  {
-    return m_nCurrentStyle;
-  };
-  bool FloatingGroupDialog()
-  {
-    return CurrentStyle() == eFloating || CurrentStyle() == eSplit;
-  };
+    bool IsSleeping()
+    {
+        return m_bSleeping;
+    }
+
+    void OnSleep();
+
+    void SetStatusText(CopiedString &status_text, const char *pText);
+
+    void UpdateStatusText();
+
+    void RedrawStatusText();
+
+    typedef MemberCaller<MainFrame, void(), &MainFrame::RedrawStatusText> RedrawStatusTextCaller;
+
+    void SetGridStatus();
+
+    typedef MemberCaller<MainFrame, void(), &MainFrame::SetGridStatus> SetGridStatusCaller;
+
+    void SetActiveXY(XYWnd *p);
+
+    XYWnd *ActiveXY()
+    {
+        return m_pActiveXY;
+    };
+
+    XYWnd *GetXYWnd()
+    {
+        return m_pXYWnd;
+    }
+
+    XYWnd *GetXZWnd()
+    {
+        return m_pXZWnd;
+    }
+
+    XYWnd *GetYZWnd()
+    {
+        return m_pYZWnd;
+    }
+
+    ZWnd *GetZWnd()
+    {
+        return m_pZWnd;
+    }
+
+    CamWnd *GetCamWnd()
+    {
+        return m_pCamWnd;
+    }
+
+    void ReleaseContexts();
+
+    void CreateContexts();
+
+    EViewStyle CurrentStyle()
+    {
+        return m_nCurrentStyle;
+    };
+
+    bool FloatingGroupDialog()
+    {
+        return CurrentStyle() == eFloating || CurrentStyle() == eSplit;
+    };
 };
 
-extern MainFrameg_pParentWnd;
+extern MainFrame *g_pParentWnd;
 
-GtkWindow* MainFrame_getWindow();
+ui::Window MainFrame_getWindow();
 
-enum EMouseButtonMode
-{
-  ETwoButton = 0,
-  EThreeButton = 1,
+enum EMouseButtonMode {
+    ETwoButton = 0,
+    EThreeButton = 1,
 };
 
-struct glwindow_globals_t
-{
-  int m_nMouseType;
+struct glwindow_globals_t {
+    int m_nMouseType;
 
-  glwindow_globals_t() :
-    m_nMouseType(EThreeButton)
-  {
-  }
+    glwindow_globals_t() :
+            m_nMouseType(EThreeButton)
+    {
+    }
 };
 
 void GLWindow_Construct();
+
 void GLWindow_Destroy();
 
 extern glwindow_globals_t g_glwindow_globals;
+
 template<typename Value>
 class LatchedValue;
-typedef LatchedValue<bool> LatchedBool;
-extern LatchedBool g_Layout_enableDetachableMenus;
+
+extern LatchedValue<bool> g_Layout_enableDetachableMenus;
 
 void deleteSelection();
 
 
-void Sys_Status(const charstatus);
+void Sys_Status(const char *status);
 
 
-void ScreenUpdates_Disable(const char* message, const char* title);
+void ScreenUpdates_Disable(const char *message, const char *title);
+
 void ScreenUpdates_Enable();
+
 bool ScreenUpdates_Enabled();
+
 void ScreenUpdates_process();
 
-class ScopeDisableScreenUpdates
-{
+class ScopeDisableScreenUpdates {
 public:
-  ScopeDisableScreenUpdates(const char* message, const char* title)
-  {
-    ScreenUpdates_Disable(message, title);
-  }
-  ~ScopeDisableScreenUpdates()
-  {
-    ScreenUpdates_Enable();
-  }
+    ScopeDisableScreenUpdates(const char *message, const char *title)
+    {
+        ScreenUpdates_Disable(message, title);
+    }
+
+    ~ScopeDisableScreenUpdates()
+    {
+        ScreenUpdates_Enable();
+    }
 };
 
 
 void EnginePath_Realise();
+
 void EnginePath_Unrealise();
 
 class ModuleObserver;
 
-void Radiant_attachEnginePathObserver(ModuleObserver& observer);
-void Radiant_detachEnginePathObserver(ModuleObserver& observer);
+void Radiant_attachEnginePathObserver(ModuleObserver &observer);
 
-void Radiant_attachGameToolsPathObserver(ModuleObserver& observer);
-void Radiant_detachGameToolsPathObserver(ModuleObserver& observer);
+void Radiant_detachEnginePathObserver(ModuleObserver &observer);
+
+void Radiant_attachGameToolsPathObserver(ModuleObserver &observer);
+
+void Radiant_detachGameToolsPathObserver(ModuleObserver &observer);
 
 extern CopiedString g_strEnginePath;
+
 void EnginePath_verify();
-const char* EnginePath_get();
-const char* QERApp_GetGamePath();
+
+const char *EnginePath_get();
+
+const char *QERApp_GetGamePath();
+
+extern bool g_disableEnginePath;
+extern bool g_disableHomePath;
+
+const int g_pakPathCount = 5;
+extern CopiedString g_strPakPath[g_pakPathCount];
+
+const char *PakPath_get(int num);
 
 extern CopiedString g_strAppPath;
-const char* AppPath_get();
+
+const char *AppPath_get();
 
 extern CopiedString g_strSettingsPath;
-const char* SettingsPath_get();
 
-const char* LocalRcPath_get(void);
+const char *SettingsPath_get();
 
-const char* const g_pluginsDir = "plugins/"; ///< name of plugins directory, always sub-directory of toolspath
-const char* const g_modulesDir = "modules/"; ///< name of modules directory, always sub-directory of toolspath
+const char *LocalRcPath_get(void);
+
+const char *const g_pluginsDir = "plugins/"; ///< name of plugins directory, always sub-directory of toolspath
+const char *const g_modulesDir = "modules/"; ///< name of modules directory, always sub-directory of toolspath
 
 extern CopiedString g_strGameToolsPath;
-const char* GameToolsPath_get();
+
+const char *GameToolsPath_get();
 
 void Radiant_Initialise();
+
 void Radiant_Shutdown();
 
 void SaveMapAs();
 
 
 void XY_UpdateAllWindows();
+
 void UpdateAllWindows();
 
 
@@ -247,42 +285,64 @@ void ClipperChangeNotify();
 
 void DefaultMode();
 
-const charbasegame_get();
-const char* gamename_get();
-void gamename_set(const char* gamename);
-void Radiant_attachGameNameObserver(ModuleObserver& observer);
-void Radiant_detachGameNameObserver(ModuleObserver& observer);
-const char* gamemode_get();
-void gamemode_set(const char* gamemode);
-void Radiant_attachGameModeObserver(ModuleObserver& observer);
-void Radiant_detachGameModeObserver(ModuleObserver& observer);
+const char *basegame_get();
+
+const char *gamename_get();
+
+void gamename_set(const char *gamename);
+
+void Radiant_attachGameNameObserver(ModuleObserver &observer);
+
+void Radiant_detachGameNameObserver(ModuleObserver &observer);
 
+const char *gamemode_get();
 
+void gamemode_set(const char *gamemode);
+
+void Radiant_attachGameModeObserver(ModuleObserver &observer);
+
+void Radiant_detachGameModeObserver(ModuleObserver &observer);
+
+void VFS_Refresh();
+
+void VFS_Restart();
 
 void VFS_Construct();
+
 void VFS_Destroy();
 
 void HomePaths_Construct();
+
 void HomePaths_Destroy();
-void Radiant_attachHomePathsObserver(ModuleObserver& observer);
-void Radiant_detachHomePathsObserver(ModuleObserver& observer);
+
+void Radiant_attachHomePathsObserver(ModuleObserver &observer);
+
+void Radiant_detachHomePathsObserver(ModuleObserver &observer);
 
 
 void MainFrame_Construct();
+
 void MainFrame_Destroy();
 
 
-extern float (*GridStatus_getGridSize)();
-extern int (*GridStatus_getRotateIncrement)();
-extern int (*GridStatus_getFarClipDistance)();
-extern bool (*GridStatus_getTextureLockEnabled)();
+extern float ( *GridStatus_getGridSize )();
+
+extern int ( *GridStatus_getRotateIncrement )();
+
+extern int ( *GridStatus_getFarClipDistance )();
+
+extern bool ( *GridStatus_getTextureLockEnabled )();
+
 void GridStatus_onTextureLockEnabledChanged();
 
-SignalHandlerId XYWindowDestroyed_connect(const SignalHandler& handler);
+SignalHandlerId XYWindowDestroyed_connect(const SignalHandler &handler);
+
 void XYWindowDestroyed_disconnect(SignalHandlerId id);
-MouseEventHandlerId XYWindowMouseDown_connect(const MouseEventHandler& handler);
+
+MouseEventHandlerId XYWindowMouseDown_connect(const MouseEventHandler &handler);
+
 void XYWindowMouseDown_disconnect(MouseEventHandlerId id);
 
-extern GtkWidget* g_page_entity;
+extern ui::Widget g_page_entity;
 
 #endif