]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - contrib/bobtoolz/bobToolz-GTK.cpp
Merge branch 'NateEag-master-patch-12920' into 'master'
[xonotic/netradiant.git] / contrib / bobtoolz / bobToolz-GTK.cpp
index bbc3979c56332e3ea3ad9abaf954451ea5655fd5..c1ac8b1de987cc0c18268b9de520caafcc5caa47 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::Window g_pRadiantWnd{ui::null};
-
-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::Window::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(){
 }
 
 
-const int NUM_TOOLBARBUTTONS = 14;
+const int NUM_TOOLBARBUTTONS = 13;
 
 std::size_t ToolbarButtonCount( void ) {
        return NUM_TOOLBARBUTTONS;
@@ -168,27 +176,27 @@ virtual const char* getImage() const {
        switch ( mIndex ) {
        case 0: return "bobtoolz_cleanup.png";
        case 1: return "bobtoolz_poly.png";
-       case 2: return "bobtoolz_caulk.png";
-       case 3: return "";
-       case 4: return "bobtoolz_treeplanter.png";
-       case 5: return "bobtoolz_trainpathplot.png";
-       case 6: return "bobtoolz_dropent.png";
-       case 7: return "";
-       case 8: return "bobtoolz_merge.png";
-       case 9: return "bobtoolz_split.png";
-       case 10: return "bobtoolz_splitrow.png";
-       case 11: return "bobtoolz_splitcol.png";
-       case 12: return "";
-       case 13: return "bobtoolz_turnedge.png";
+//     case 2: return "bobtoolz_caulk.png";
+       case 2: return "";
+       case 3: return "bobtoolz_treeplanter.png";
+       case 4: return "bobtoolz_trainpathplot.png";
+       case 5: return "bobtoolz_dropent.png";
+       case 6: return "";
+       case 7: return "bobtoolz_merge.png";
+       case 8: return "bobtoolz_split.png";
+       case 9: return "bobtoolz_splitrow.png";
+       case 10: return "bobtoolz_splitcol.png";
+       case 11: return "";
+       case 12: return "bobtoolz_turnedge.png";
        }
        return NULL;
 }
 virtual EType getType() const {
        switch ( mIndex ) {
-       case 3: return eSpace;
-       case 4: return eToggleButton;
-       case 7: return eSpace;
-       case 12: return eSpace;
+       case 2: return eSpace;
+       case 3: return eToggleButton;
+       case 6: return eSpace;
+       case 11: return eSpace;
        default: return eButton;
        }
 }
@@ -196,15 +204,15 @@ virtual const char* getText() const {
        switch ( mIndex ) {
        case 0: return "Cleanup";
        case 1: return "Polygons";
-       case 2: return "Caulk";
-       case 4: return "Tree Planter";
-       case 5: return "Plot Splines";
-       case 6: return "Drop Entity";
-       case 8: return "Merge 2 Patches";
-       case 9: return "Split Patch";
-       case 10: return "Split Patch Rows";
-       case 11: return "Split Patch Columns";
-       case 13: return "Flip Terrain";
+//     case 2: return "Caulk";
+       case 3: return "Tree Planter";
+       case 4: return "Plot Splines";
+       case 5: return "Drop Entity";
+       case 7: return "Merge 2 Patches";
+       case 8: return "Split Patch";
+       case 9: return "Split Patch Rows";
+       case 10: return "Split Patch Columns";
+       case 12: return "Flip Terrain";
        }
        return NULL;
 }
@@ -212,15 +220,15 @@ virtual const char* getTooltip() const {
        switch ( mIndex ) {
        case 0: return "Brush Cleanup";
        case 1: return "Polygons";
-       case 2: return "Caulk selection";
-       case 4: return "Tree Planter";
-       case 5: return "Plot Splines";
-       case 6: return "Drop Entity";
-       case 8: return "Merge 2 Patches";
-       case 9: return "Split Patch";
-       case 10: return "Split Patch Rows";
-       case 11: return "Split Patch Columns";
-       case 13: return "Flip Terrain (Turn Edge)";
+//     case 2: return "Caulk selection";
+       case 3: return "Tree Planter";
+       case 4: return "Plot Splines";
+       case 5: return "Drop Entity";
+       case 7: return "Merge 2 Patches";
+       case 8: return "Split Patch";
+       case 9: return "Split Patch Rows";
+       case 10: return "Split Patch Columns";
+       case 12: return "Flip Terrain (Turn Edge)";
        }
        return NULL;
 }
@@ -231,15 +239,15 @@ virtual void activate() const {
        switch ( mIndex ) {
        case 0: DoFixBrushes(); break;
        case 1: DoPolygonsTB(); break;
-       case 2: DoCaulkSelection(); break;
-       case 4: DoTreePlanter(); break;
-       case 5: DoTrainPathPlot(); break;
-       case 6: DoDropEnts(); break;
-       case 8: DoMergePatches(); break;
-       case 9: DoSplitPatch(); break;
-       case 10: DoSplitPatchRows(); break;
-       case 11: DoSplitPatchCols(); break;
-       case 13: DoFlipTerrain(); break;
+//     case 2: DoCaulkSelection(); break;
+       case 3: DoTreePlanter(); break;
+       case 4: DoTrainPathPlot(); break;
+       case 5: DoDropEnts(); break;
+       case 7: DoMergePatches(); break;
+       case 8: DoSplitPatch(); break;
+       case 9: DoSplitPatchRows(); break;
+       case 10: DoSplitPatchCols(); break;
+       case 12: DoFlipTerrain(); break;
        }
 }