]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - contrib/bobtoolz/bobToolz-GTK.cpp
h2data: use static for homonyms
[xonotic/netradiant.git] / contrib / bobtoolz / bobToolz-GTK.cpp
index 3629abd8782e44091a54057bc002979a7ec71f83..898c94cb00f63357d8c9d34ee144b47d779b88ed 100644 (file)
@@ -34,6 +34,8 @@
 #include "dialogs/dialogs-gtk.h"
 #include "../../libs/cmdlib.h"
 
+#define PLUGIN_NAME "bobToolz"
+
 void BobToolz_construct(){
 }
 
@@ -56,25 +58,16 @@ void BobToolz_destroy(){
        }
 }
 
-// plugin name
-const char* PLUGIN_NAME = "bobToolz";
-
 // commands in the menu
 static const char* PLUGIN_COMMANDS = "About...,-,Reset Textures...,PitOMatic,-,Vis Viewer,Brush Cleanup,Polygon Builder,Caulk Selection,-,Tree Planter,Drop Entity,Plot Splines,-,Merge Patches,Split patches,Split patches cols,Split patches rows,Turn edge";
 
 // globals
-ui::Widget g_pRadiantWnd;
-
-static const char *PLUGIN_ABOUT =   "bobToolz for SDRadiant\n"
-                                                                       "by digibob (digibob@splashdamage.com)\n"
-                                                                       "http://www.splashdamage.com\n\n"
-                                                                       "Additional Contributors:\n"
-                                                                       "MarsMattel, RR2DO2\n";
+static ui::Window main_window{ui::null};
 
 extern "C" const char* QERPlug_Init( void* hApp, void* pMainWidget ) {
-       g_pRadiantWnd = ui::Widget::from(pMainWidget);
+       main_window = ui::Window::from(pMainWidget);
 
-       return "bobToolz for GTKradiant";
+       return PLUGIN_NAME " for " RADIANT_NAME;
 }
 
 extern "C" const char* QERPlug_GetName() {
@@ -122,7 +115,7 @@ extern "C" void QERPlug_Dispatch( const char *p, vec3_t vMin, vec3_t vMax, bool
                DoFlipTerrain();
        }
        else if ( string_equal_nocase( p, "reset textures..." ) ) {
-               DoResetTextures();
+               DoResetTextures( main_window );
        }
        else if ( string_equal_nocase( p, "pitomatic" ) ) {
                DoPitBuilder();
@@ -143,10 +136,25 @@ extern "C" void QERPlug_Dispatch( const char *p, vec3_t vMin, vec3_t vMax, bool
                DoMakeChain();
        }
        else if ( string_equal_nocase( p, "path plotter..." ) ) {
-               DoPathPlotter();
+               DoPathPlotter( main_window );
        }
        else if ( string_equal_nocase( p, "about..." ) ) {
-               DoMessageBox( PLUGIN_ABOUT, "About", eMB_OK );
+               static const char *label_text =
+                       PLUGIN_NAME " for "
+                       RADIANT_NAME " " RADIANT_VERSION "\n\n"
+                       "by digibob <digibob@splashdamage.com>\n"
+                       "https://www.splashdamage.com\n\n"
+                       "Additional Contributors:\n"
+                       "Arnout van Meer <rr2do2@splashdamage.com>\n"
+                       "Mars Mattel\n\n"
+                       "Built against "
+                       RADIANT_NAME " " RADIANT_VERSION_STRING "\n"
+                       __DATE__;
+
+               GlobalRadiant().m_pfnMessageBox( main_window, label_text,
+                                                                               "About " PLUGIN_NAME,
+                                                                               eMB_OK,
+                                                                               eMB_ICONDEFAULT );
        }
 }
 
@@ -155,7 +163,7 @@ const char* QERPlug_GetCommandTitleList(){
 }
 
 
-#define NUM_TOOLBARBUTTONS 14
+const int NUM_TOOLBARBUTTONS = 14;
 
 std::size_t ToolbarButtonCount( void ) {
        return NUM_TOOLBARBUTTONS;