/*
-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"
class CamWnd;
class ZWnd;
-typedef struct _GtkWidget GtkWidget;
-typedef struct _GtkWindow GtkWindow;
const int c_command_status = 0;
const int c_position_status = 1;
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 MainFrame* g_pParentWnd;
-GtkWindow* MainFrame_getWindow();
+ui::Window MainFrame_getWindow();
enum EMouseButtonMode
{
- ETwoButton = 0,
- EThreeButton = 1,
+ ETwoButton = 0,
+ EThreeButton = 1,
};
struct glwindow_globals_t
{
- int m_nMouseType;
+ int m_nMouseType;
- glwindow_globals_t() :
- m_nMouseType(EThreeButton)
- {
- }
+ glwindow_globals_t() :
+ m_nMouseType( EThreeButton ){
+ }
};
void GLWindow_Construct();
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 char* status);
+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
{
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();
+}
};
class ModuleObserver;
-void Radiant_attachEnginePathObserver(ModuleObserver& observer);
-void Radiant_detachEnginePathObserver(ModuleObserver& observer);
+void Radiant_attachEnginePathObserver( ModuleObserver& observer );
+void Radiant_detachEnginePathObserver( ModuleObserver& observer );
-void Radiant_attachGameToolsPathObserver(ModuleObserver& observer);
-void Radiant_detachGameToolsPathObserver(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();
+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_strAppFilePath;
extern CopiedString g_strAppPath;
+extern CopiedString g_strLibPath;
+extern CopiedString g_strDataPath;
+
+const char* AppFilePath_get();
const char* AppPath_get();
+const char *LibPath_get();
+const char *DataPath_get();
extern CopiedString g_strSettingsPath;
const char* SettingsPath_get();
+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
const char* basegame_get();
const char* gamename_get();
-void gamename_set(const char* gamename);
-void Radiant_attachGameNameObserver(ModuleObserver& observer);
-void Radiant_detachGameNameObserver(ModuleObserver& observer);
+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 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 char **environ;
+void Radiant_Restart();
-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);
-void XYWindowDestroyed_disconnect(SignalHandlerId id);
-MouseEventHandlerId XYWindowMouseDown_connect(const MouseEventHandler& handler);
-void XYWindowMouseDown_disconnect(MouseEventHandlerId id);
+SignalHandlerId XYWindowDestroyed_connect( const SignalHandler& handler );
+void XYWindowDestroyed_disconnect( SignalHandlerId id );
+MouseEventHandlerId XYWindowMouseDown_connect( const MouseEventHandler& handler );
+void XYWindowMouseDown_disconnect( MouseEventHandlerId id );
+
+extern ui::Widget g_page_entity;
#endif