#include "dialogs/dialogs-gtk.h"
#include "../../libs/cmdlib.h"
+#define PLUGIN_NAME "bobToolz"
+
void BobToolz_construct(){
}
}
}
-// 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() {
DoFlipTerrain();
}
else if ( string_equal_nocase( p, "reset textures..." ) ) {
- DoResetTextures();
+ DoResetTextures( main_window );
}
else if ( string_equal_nocase( p, "pitomatic" ) ) {
DoPitBuilder();
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 );
}
}
}
-const int NUM_TOOLBARBUTTONS = 14;
+const int NUM_TOOLBARBUTTONS = 13;
std::size_t ToolbarButtonCount( void ) {
return NUM_TOOLBARBUTTONS;
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;
}
}
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;
}
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;
}
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;
}
}