bool MaterialSelector::CreateControls(void) { wxFlexGridSizer* sizer = new wxFlexGridSizer(1); sizer->AddGrowableCol(0); sizer->AddGrowableRow(1); m_toolBar = new wxToolBar( this, wxID_ANY, wxDefaultPosition, wxSize(-1,26)); m_toolBar->AddTool(feID_RELOAD_MATERIL_LIST, wxBITMAP(RELOAD),wxBITMAP(RELOAD),false, 0,wxDefaultCoord,NULL, wxT("刷新材质资源"),wxT("刷新材质资源")); m_toolBar->Realize(); sizer->Add( m_toolBar, 0, wxALIGN_LEFT|wxALL, 0 ); mMaterialList = new wxListCtrl(this, feID_MATERIAL_LIST, wxDefaultPosition, wxDefaultSize, wxLC_LIST | wxLC_SINGLE_SEL, wxDefaultValidator); sizer->Add( mMaterialList, 0, wxGROW|wxALL, 0 ); this->SetSizer(sizer); sizer->SetSizeHints(this); return true; }
bool BulletSelector::CreateControls(void) { wxFlexGridSizer* sizer = new wxFlexGridSizer(1); sizer->AddGrowableCol(0); sizer->AddGrowableRow(1); m_toolBar = new wxToolBar( this, wxID_ANY, wxDefaultPosition, wxSize(-1,26)); m_toolBar->AddCheckTool(feID_RELOAD_BULLET_LIST, _("刷新子弹资源"), wxBITMAP(RELOAD),wxBITMAP(RELOAD), _("刷新子弹资源")); m_toolBar->Realize(); sizer->Add( m_toolBar, 0, wxALIGN_LEFT|wxALL, 0 ); mBulletFlowList = new wxListCtrl(this, feID_BULLET_LIST, wxDefaultPosition, wxDefaultSize, wxLC_LIST | wxLC_SINGLE_SEL, wxDefaultValidator); sizer->Add( mBulletFlowList, 0, wxGROW|wxALL, 0 ); this->SetSizer(sizer); sizer->SetSizeHints(this); return true; }
ManageFieldTextureDialog::ManageFieldTextureDialog(wxWindow* parent, FieldTilesDataStruct& f) : ManageFieldTextureWindow(parent), timer(new wxTimer(this)), color_selected(-1), prevent_event(false) { unsigned int i; tim = f.parent->tim_data[f.id]; // Unused now field.Copy(f); for (i=0;i<field.tiles_amount;i++) { wstringstream buffer; buffer << "Tile Block " << i << endl; m_tilechecklist->Append(_(buffer.str())); m_tilechecklist->Check(i,field.tiles[i].is_static || field.tiles[i].is_first_of_anim); } animlist_img = new wxImageList(60,20,true,4); animcontrol_loopplay = wxBitmap(wxBITMAP(animcontrolloopplay_image)); animcontrol_looppause = wxBitmap(wxBITMAP(animcontrollooppause_image)); animcontrol_noloopplay = wxBitmap(wxBITMAP(animcontrolnoloopplay_image)); animcontrol_nolooppause = wxBitmap(wxBITMAP(animcontrolnolooppause_image)); animlist_img->Add(animcontrol_noloopplay); animlist_img->Add(animcontrol_nolooppause); animlist_img->Add(animcontrol_loopplay); animlist_img->Add(animcontrol_looppause); anim_tick_time = new unsigned int[field.anim_amount]; anim_tile_pos = new unsigned int[field.anim_amount]; anim_play_flag = new unsigned int[field.anim_amount]; for (i=0;i<field.anim_amount;i++) { anim_tick_time[i] = field.anim[i].tile_duration[0]; anim_tile_pos[i] = 0; anim_play_flag[i] = ANIM_PLAYFLAG_LOOP; } m_animlist->AssignImageList(animlist_img,wxIMAGE_LIST_SMALL); for (i=0;i<field.anim_amount;i++) m_animlist->InsertItem(i,_(L"Anim ")+wxString::Format(wxT("%u"),i),anim_play_flag[i]); m_animlist->SetColumnWidth(0,200); m_textureposx->Enable(false); m_textureposy->Enable(false); m_texturepaletteselection->Enable(false); imported_img = wxNullBitmap; main_img_base = wxNullImage; scale_ratio = 1.0; timer->Start(DEFAULT_SPEED); Connect(wxEVT_TIMER,wxTimerEventHandler(ManageFieldTextureDialog::OnTimer),NULL,this); m_texturepicker->GetTextCtrl()->Connect(wxEVT_SET_FOCUS,wxFocusEventHandler(ManageFieldTextureDialog::OnFocusFileImage),NULL,this); }
/////////////////// // Tracker Menu void FrameMain::OnVideoTrackerMenu(wxCommandEvent &event) { wxMenu menu( _("FexTracker") ); AppendBitmapMenuItem(&menu, Video_Track_Points, _("Track points"), _T(""), wxBITMAP(button_track_points)); menu.AppendSeparator(); AppendBitmapMenuItem(&menu, Video_Track_Point_Add, _("Add points to movement"), _T(""), wxBITMAP(button_track_point_add)); AppendBitmapMenuItem(&menu, Video_Track_Point_Del, _("Remove points from movement"), _T(""), wxBITMAP(button_track_point_del)); menu.AppendSeparator(); AppendBitmapMenuItem(&menu, Video_Track_Movement, _("Generate movement from points"), _T(""), wxBITMAP(button_track_movement)); PopupMenu(&menu); }
/////////////// // Constructor AboutScreen::AboutScreen(wxWindow *parent) : wxDialog (parent, -1, _("About Aegisub"), wxDefaultPosition, wxSize(300,240), wxSTAY_ON_TOP | wxCAPTION | wxCLOSE_BOX , _("About Aegisub")) { // Get splash wxBitmap splash = wxBITMAP(splash); // Picture wxSizer *PicSizer = new wxBoxSizer(wxHORIZONTAL); PicSizer->Add(new BitmapControl(this,splash)); // Generate about string wxString aboutString; wxString translatorCredit = _("Translated into LANGUAGE by PERSON\n"); if (translatorCredit == _T("Translated into LANGUAGE by PERSON\n")) translatorCredit.Clear(); aboutString += wxString(_T("Aegisub ")) + GetAegisubShortVersionString() + _(" by ArchMage ZeratuL.\n"); aboutString += _("Copyright (c) 2005-2006 - Rodrigo Braz Monteiro.\n\n"); aboutString += _("Automation module is Copyright (c) 2005-2006 Niels Martin Hansen (aka jfs).\n"); aboutString += _("Motion tracker module is Copyright (c) 2006 Hajo Krabbenhoeft (aka Tentacle).\n"); aboutString += _("Coding by ArchMageZeratuL, jfs, Myrsloik, equinox, Tentacle and nmap.\n"); aboutString += _("Manual by ArchMage ZeratuL, jfs, movax, Kobi, TheFluff and Jcubed.\n"); aboutString += _("Forum and bug tracker hosting by Bot1.\n"); aboutString += _("SVN hosting by BerliOS and Mentar.\n"); aboutString += translatorCredit; aboutString += _("\nSee the help file for full credits.\n"); aboutString += wxString::Format(_("Built by %s on %s."), GetAegisubBuildCredit().c_str(), GetAegisubBuildTime().c_str()); // Text sizer wxSizer *TextSizer = new wxBoxSizer(wxVERTICAL); TextSizer->Add(new wxStaticText(this,-1,aboutString),1); // Button sizer wxSizer *ButtonSizer = new wxBoxSizer(wxHORIZONTAL); ButtonSizer->AddStretchSpacer(1); #ifndef __WXMAC__ ButtonSizer->Add(new wxButton(this,wxID_OK),0,0,0); #else wxButton *okButton = new wxButton(this,wxID_OK); ButtonSizer->Add(okButton,0,0,0); okButton->SetDefault(); #endif // Main sizer wxSizer *MainSizer = new wxBoxSizer(wxVERTICAL); MainSizer->Add(PicSizer,0,wxBOTTOM,5); MainSizer->Add(TextSizer,0,wxEXPAND | wxBOTTOM | wxRIGHT | wxLEFT,5); MainSizer->Add(new wxStaticLine(this,wxID_ANY),0,wxEXPAND | wxALL,5); MainSizer->Add(ButtonSizer,0,wxEXPAND | wxBOTTOM | wxRIGHT | wxLEFT,5); // Set sizer MainSizer->SetSizeHints(this); SetSizer(MainSizer); // Draw logo Centre(); }
wxSizer *InitRenderingConfigDialog( wxWindow *parent, bool call_fit, bool set_sizer ) { wxFlexGridSizer *item0 = new wxFlexGridSizer( 1, 0, 0 ); item0->AddGrowableCol( 0 ); item0->AddGrowableRow( 0 ); wxFlexGridSizer *item1 = new wxFlexGridSizer( 1, 0, 0 ); item1->AddGrowableCol( 0 ); item1->AddGrowableRow( 1 ); wxStaticBitmap *item2 = new wxStaticBitmap(parent, -1, wxBITMAP(LOGO)); wxASSERT( item2 ); item1->Add( item2, 0, wxGROW|wxALL, 5 ); wxPropertyGridManager *item3 = new wxPropertyGridManager(parent, ID_RENDERSYSTEMOPTIONS, wxDefaultPosition, // position wxSize(80, 174), // size wxCLIP_CHILDREN | wxCLIP_SIBLINGS | wxPG_BOLD_MODIFIED | // Modified values are drawn in bold font wxPG_SPLITTER_AUTO_CENTER | // Automatically center splitter until user manually adjusts it wxPG_TOOLTIPS | // Display tooltips for cell text that cannot be shown completely wxPG_TOOLBAR | // Include toolbar wxPG_HIDE_MARGIN | // Disables margin and hides all expand/collapse buttons //wxPG_DESCRIPTION | // Include description box //wxPG_COMPACTOR | // Include compactor wxPGMAN_DEFAULT_STYLE); // Plus default style item3->SetExtraStyle(wxPG_EX_CLASSIC_SPACING | wxPG_EX_NO_MODE_BUTTONS); wxASSERT( item3 ); item1->Add( item3, 0, wxFIXED_MINSIZE|wxGROW|wxALL, 5 ); item0->Add( item1, 0, wxGROW|wxALL, 5 ); wxBoxSizer *item4 = new wxBoxSizer( wxHORIZONTAL ); wxButton *item5 = new wxButton( parent, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 ); item5->SetDefault(); item4->Add( item5, 0, wxALIGN_CENTER|wxALL, 5 ); wxButton *item6 = new wxButton( parent, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); item4->Add( item6, 0, wxALIGN_CENTER|wxALL, 5 ); item0->Add( item4, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); if (set_sizer) { parent->SetSizer( item0 ); if (call_fit) item0->SetSizeHints( parent ); } return item0; }
/////////////////// // Movement Menu void FrameMain::OnVideoTrackerMenu2(wxCommandEvent &event) { wxMenu menu( _("FexMovement") ); AppendBitmapMenuItem(&menu, Video_Track_Movement_Empty, _("Generate empty movement"), _T(""), wxBITMAP(button_track_move)); menu.AppendSeparator(); AppendBitmapMenuItem(&menu, Video_Track_Movement_MoveAll, _("Move subtitle"), _T(""), wxBITMAP(button_track_move)); menu.AppendSeparator(); AppendBitmapMenuItem(&menu, Video_Track_Movement_MoveBefore, _("Move subtitle (this frame and preceeding frames)"), _T(""), wxBITMAP(button_track_move)); AppendBitmapMenuItem(&menu, Video_Track_Movement_MoveOne, _("Move subtitle (this frame)"), _T(""), wxBITMAP(button_track_move)); AppendBitmapMenuItem(&menu, Video_Track_Movement_MoveAfter, _("Move subtitle (this frame and following frames)"), _T(""), wxBITMAP(button_track_move)); menu.AppendSeparator(); AppendBitmapMenuItem(&menu, Video_Track_Split_Line, _("Split line for movement"), _T(""), wxBITMAP(button_track_split_line)); menu.AppendSeparator(); AppendBitmapMenuItem(&menu, Video_Track_Link_File, _("Link movement file"), _T(""), wxBITMAP(button_track_move)); PopupMenu(&menu); }
void SkillObjectTree::CreateImageList(int size) { if ( size == -1 ) { SetImageList(NULL); return; } if ( size == 0 ) size = m_imageSize; else m_imageSize = size; // Make an image list containing small icons wxImageList *images = new wxImageList(size, size, true); // should correspond to TreeCtrlIcon_xxx enum wxBusyCursor wait; wxBitmap bitmaps[8]; bitmaps[0] = wxBITMAP(SKILL); bitmaps[1] = wxBITMAP(ANIMEFFECT); bitmaps[2] = wxBITMAP(CAMERASHAKE); bitmaps[3] = wxBITMAP(RIBBON); bitmaps[4] = wxBITMAP(SOUND); bitmaps[5] = wxBITMAP(SCENELIGHT); bitmaps[6] = wxBITMAP(ANIMBULLETFLOW); bitmaps[7] = wxBITMAP(SKILLPROPERTY); int sizeOrig = bitmaps[0].GetWidth(); for ( size_t i = 0; i < WXSIZEOF(bitmaps); i++ ) { if ( size == sizeOrig ) { images->Add(bitmaps[i]); } else { images->Add(wxBitmap(bitmaps[i].ConvertToImage().Rescale(size, size))); } } AssignImageList(images); }
//////////////////////////////////////////////////////////////////// // Method: Constructor // Class: CX10PingAbout // Purpose: Initialize my about dialog // Input: pointer to reference window // Output: nothing //////////////////////////////////////////////////////////////////// CX10PingAbout::CX10PingAbout(wxWindow *parent) : wxDialog(parent, -1, _("About X10Ping"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxDIALOG_MODAL) { // comment gpahic logo for now // logo wxBitmap bmp(wxBITMAP(IMG_X10PINGABOUT)); // bmp.LoadFile( "x10pingabout.bmp", wxBITMAP_TYPE_BMP ); #if !defined(__WXGTK__) && !defined(__WXMOTIF__) && !defined(__WXMAC__) bmp.SetMask(new wxMask(bmp, *wxBLUE)); #endif wxStaticBitmap *sbmp = new wxStaticBitmap(this, -1, bmp); // layout components wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL ); sizer->Add( sbmp, 0, wxCENTRE | wxALL, 10 ); sizer->Add( new wxStaticLine(this, -1), 0, wxGROW | wxLEFT | wxRIGHT, 5 ); sizer->Add( CreateTextSizer(_("X10Ping version 1.560\n" "(X10 Ping Network Monitoring Tool)\n" "Created by: Larry Lart\n" "Email To: [email protected]\n" " \n\n" " (c) 2006-2007 Larry Lart")), 0, wxCENTRE | wxALL, 10 ); sizer->Add( new wxStaticLine(this, -1), 0, wxGROW | wxLEFT | wxRIGHT, 5 ); sizer->Add( CreateButtonSizer(wxOK), 0, wxCENTRE | wxALL, 10 ); // activate SetSizer(sizer); SetAutoLayout(TRUE); sizer->SetSizeHints(this); sizer->Fit(this); Centre(wxBOTH | wxCENTRE_ON_SCREEN); }
bool SkillObjectEditor::Create(wxWindow *parent, wxWindowID winid, const wxPoint& pos, const wxSize& size, long style) { if (!wxPanel::Create(parent, winid, pos, size, style)) return false; wxFlexGridSizer* sizer = new wxFlexGridSizer(1); sizer->AddGrowableCol(0); sizer->AddGrowableRow(1); m_toolBar = new wxToolBar( this, wxID_ANY, wxDefaultPosition, wxSize(-1,28)); m_toolBar->AddTool(feID_NEW_SKILL, wxBITMAP(NEW),wxBITMAP(NEW),false, 0,wxDefaultCoord,NULL, wxT("创建技能数据"),wxT("创建技能数据")); m_toolBar->AddTool(feID_SAVEAS_SKILL, wxBITMAP(SAVEAS),wxBITMAP(SAVEAS),false, 1,wxDefaultCoord,NULL, wxT("另存技能数据"),wxT("另存技能数据")); m_toolBar->AddTool(feID_SAVE_SKILL, wxBITMAP(SAVE),wxBITMAP(SAVE),false, 2,wxDefaultCoord,NULL, wxT("保存技能数据"),wxT("保存技能数据")); m_toolBar->AddTool(feID_DELETE_SKILL_ELEMENT, wxBITMAP(DELETE),wxBITMAP(DELETE),false, 3,wxDefaultCoord,NULL, wxT("删除技能元素"),wxT("删除技能元素")); m_toolBar->AddSeparator(); m_toolBar->AddTool(feID_NEW_SKILL_EFFECT, wxBITMAP(NEWAINIMEFFECT),wxBITMAP(NEWAINIMEFFECT),false, 4,wxDefaultCoord,NULL, wxT("添加效果元素"),wxT("添加效果元素")); m_toolBar->AddTool(feID_NEW_SKILL_CAMERASHAKE, wxBITMAP(NEWCAMERASHAKE),wxBITMAP(NEWCAMERASHAKE),false, 5,wxDefaultCoord,NULL, wxT("新建相机震动元素"),wxT("新建相机震动元素")); m_toolBar->AddTool(feID_NEW_SKILL_RIBBON, wxBITMAP(NEWRIBBON),wxBITMAP(NEWRIBBON),false, 6,wxDefaultCoord,NULL, wxT("添加刀光元素"),wxT("添加刀光元素")); m_toolBar->AddTool(feID_NEW_SKILL_SOUND, wxBITMAP(NEWSOUND),wxBITMAP(NEWSOUND),false, 7,wxDefaultCoord,NULL, wxT("添加声音元素"),wxT("添加声音元素")); m_toolBar->AddTool(feID_NEW_SKILL_SCENELIGHT, wxBITMAP(NEWSCENELIGHT),wxBITMAP(NEWSCENELIGHT),false, 8,wxDefaultCoord,NULL, wxT("添加场景灯光元素"),wxT("添加场景灯光元素")); m_toolBar->AddTool(feID_NEW_SKILL_MISSILE, wxBITMAP(NEWANIMBULLETFLOW),wxBITMAP(NEWANIMBULLETFLOW),false, 9,wxDefaultCoord,NULL, wxT("添加导弹元素"),wxT("添加导弹元素")); m_toolBar->Realize(); sizer->Add( m_toolBar, 0, wxEXPAND, 0 ); m_SkillObjectTree = new SkillObjectTree( this, ID_SKILL_OBJECT_TREE, wxDefaultPosition, wxDefaultSize); sizer->Add( m_SkillObjectTree, 0, wxGROW|wxALL, 0 ); this->SetSizer( sizer ); sizer->SetSizeHints(this); return true; }
void EnviroFrame::RefreshToolbar() { if (!m_pToolbar) // safety check return; // remove any existing buttons int count = m_pToolbar->GetToolsCount(); #ifdef __WXMAC__ // Nino says: I spent a long time with this one, the issue was definitely // deep in wxMac, but I don't remember, nor want to repeat it :). Can we // #ifdef __WXMAC__ for the time being to revisit it after Xcode is working? while (count >= 1) { m_pToolbar->DeleteToolByPos(count-1); count = m_pToolbar->GetToolsCount(); } m_pToolbar->Realize(); AddTool(ID_TOOLS_SELECT, wxBITMAP(select), _("Select"), true); #else if (!count) { AddTool(ID_TOOLS_SELECT, wxBITMAP(select), _("Select"), true); count = 1; } while (count > 1) { m_pToolbar->DeleteToolByPos(count-1); count = m_pToolbar->GetToolsCount(); } #endif bool bEarth = (g_App.m_state == AS_Orbit); bool bTerr = (g_App.m_state == AS_Terrain); if (bTerr) { AddTool(ID_TOOLS_SELECT_BOX, wxBITMAP(select_box), _("Select Box"), true); if (g_Options.m_bShowToolsCulture) { AddTool(ID_TOOLS_SELECT_MOVE, wxBITMAP(select_move), _("Select and Move"), true); AddTool(ID_TOOLS_MOVE, wxBITMAP(move), _("Move Objects"), true); AddTool(ID_TOOLS_FENCES, wxBITMAP(fence), _("Create Fences"), true); AddTool(ID_TOOLS_BUILDINGS, wxBITMAP(building), _("Create Buildings"), true); AddTool(ID_TOOLS_POWER, wxBITMAP(route), _("Create Powerlines"), true); AddTool(ID_TOOLS_PLANTS, wxBITMAP(tree), _("Create Plants"), true); } AddTool(ID_TOOLS_POINTS, wxBITMAP(placemark), _("Create Points"), true); if (g_Options.m_bShowToolsCulture) { AddTool(ID_TOOLS_INSTANCES, wxBITMAP(instances), _("Create Instances"), true); AddTool(ID_TOOLS_VEHICLES, wxBITMAP(vehicles), _("Create Vehicles"), true); } AddTool(ID_TOOLS_NAVIGATE, wxBITMAP(nav), _("Navigate"), true); } if (bTerr || bEarth) { AddTool(ID_TOOLS_MEASURE, wxBITMAP(distance), _("Measure Distance"), true); } if (bTerr) { m_pToolbar->AddSeparator(); AddTool(ID_VIEW_PROFILE, wxBITMAP(view_profile), _("Elevation Profile"), true); AddTool(ID_TOOLS_CONSTRAIN, wxBITMAP(bld_corner), _("Constrain Angles"), true); } if (g_Options.m_bShowToolsSnapshot) { m_pToolbar->AddSeparator(); AddTool(ID_VIEW_SNAPSHOT, wxBITMAP(snap), _("Snapshot"), false); AddTool(ID_VIEW_SNAP_AGAIN, wxBITMAP(snap_num), _("Numbered Snapshot"), false); } if (bTerr || bEarth) { m_pToolbar->AddSeparator(); AddTool(ID_FILE_LAYERS, wxBITMAP(layers), _("Show Layer Dialog"), false); } if (bTerr) { m_pToolbar->AddSeparator(); AddTool(ID_VIEW_MAINTAIN, wxBITMAP(maintain), _("Maintain Height"), true); AddTool(ID_VIEW_FASTER, wxBITMAP(nav_fast), _("Fly Faster"), false); AddTool(ID_VIEW_SLOWER, wxBITMAP(nav_slow), _("Fly Slower"), false); AddTool(ID_VIEW_SETTINGS, wxBITMAP(nav_set), _("Camera Dialog"), false); AddTool(ID_VIEW_LOCATIONS, wxBITMAP(loc), _("Locations"), false); } if (m_bEnableEarth) { m_pToolbar->AddSeparator(); if (bTerr) { AddTool(ID_SCENE_EPHEMERIS, wxBITMAP(ephemeris), _("Ephemeris"), false); AddTool(ID_SCENE_SPACE, wxBITMAP(space), _("Go to Space"), false); } AddTool(ID_SCENE_TERRAIN, wxBITMAP(terrain), _("Go to Terrain"), false); if (bEarth) { m_pToolbar->AddSeparator(); AddTool(ID_EARTH_SHOWSHADING, wxBITMAP(sun), _("Show Sunlight"), true); AddTool(ID_EARTH_SHOWAXES, wxBITMAP(axes), _("Axes"), true); AddTool(ID_EARTH_TILT, wxBITMAP(tilt), _("Tilt"), true); AddTool(ID_EARTH_UNFOLD, wxBITMAP(unfold), _("Unfold"), true); } } if (g_Options.m_bShowToolsTime) { m_pToolbar->AddSeparator(); AddTool(ID_TIME_DIALOG, wxBITMAP(time), _("Time"), false); AddTool(ID_TIME_FASTER, wxBITMAP(faster), _("Time Faster"), false); AddTool(ID_TIME_STOP, wxBITMAP(stop), _("Time Stop"), false); } m_pToolbar->AddSeparator(); AddTool(ID_SCENE_SCENEGRAPH, wxBITMAP(sgraph), _("Scene Graph"), false); VTLOG1("Realize toolbar.\n"); m_pToolbar->Realize(); // "commit" all changes made to wxAuiManager wxAuiPaneInfo &api = m_mgr.GetPane(wxT("toolbar")); if (api.IsOk()) { wxSize best = m_pToolbar->GetBestSize(); api.MinSize(best); m_mgr.Update(); } }
void LayerToolBarFunc(wxToolBar *bar) { bar->SetMargins( 1, 1 ); bar->AddTool( ID_LAYER_CREATE, _("Create"), wxBITMAP(layer_create), wxNullBitmap, wxITEM_NORMAL, _("Create New Layer") ); bar->AddTool( ID_LAYER_LOAD, _("Load"), wxBITMAP(layer_open), wxNullBitmap, wxITEM_NORMAL, _("Load Layer") ); bar->AddTool( ID_LAYER_SAVE, _("Save"), wxBITMAP(save), wxNullBitmap, wxITEM_NORMAL, _("Save Layer") ); bar->AddTool( ID_LAYER_SAVE_AS, _("Save As"), wxBITMAP(save_as), wxNullBitmap, wxITEM_NORMAL, _("Save Layer As...") ); bar->AddTool( ID_LAYER_DELETE, _("Delete"), wxBITMAP(delete1), wxNullBitmap, wxITEM_NORMAL, _("Delete Layer") ); bar->AddSeparator(); bar->AddTool( ID_LAYER_ZOOM_TO, _("Zoom"), wxBITMAP(zoom_to), wxNullBitmap, wxITEM_NORMAL, _("Zoom To") ); bar->AddTool( ID_LAYER_VISIBLE, _("Visible"), wxBITMAP(eye), wxNullBitmap, wxITEM_CHECK, _("Toggle Layer Visibility") ); bar->AddTool( ID_LAYER_TABLE, wxT(""), wxBITMAP(grid), wxNullBitmap, wxITEM_NORMAL, _("Table of Features") ); bar->AddTool( ID_LAYER_SHADOW, _("Shadow"), wxBITMAP(shadow), wxNullBitmap, wxITEM_CHECK, _("Toggle Structure Shadow") ); bar->AddTool( ID_LAYER_REFRESH, _("Refresh"), wxBITMAP(refresh), wxNullBitmap, wxITEM_NORMAL, _("Refresh") ); bar->AddSeparator(); bar->AddTool( ID_SHOW_ALL, _("All"), wxBITMAP(treeview), wxNullBitmap, wxITEM_CHECK, _("Show all elements of every layer") ); bar->Realize(); }
LifeNavigator::LifeNavigator(wxWindow *parent) : wxMiniFrame(parent, wxID_ANY, _("Navigation"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxSIMPLE_BORDER) { wxPanel *panel = new wxPanel(this, wxID_ANY); wxBoxSizer *sizer1 = new wxBoxSizer(wxVERTICAL); wxBoxSizer *sizer2 = new wxBoxSizer(wxHORIZONTAL); // create bitmaps and masks for the buttons wxBitmap bmpn = wxBITMAP(north), bmpw = wxBITMAP(west), bmpc = wxBITMAP(center), bmpe = wxBITMAP(east), bmps = wxBITMAP(south); #if !defined(__WXGTK__) && !defined(__WXMOTIF__) && !defined(__WXMAC__) bmpn.SetMask(new wxMask(bmpn, *wxLIGHT_GREY)); bmpw.SetMask(new wxMask(bmpw, *wxLIGHT_GREY)); bmpc.SetMask(new wxMask(bmpc, *wxLIGHT_GREY)); bmpe.SetMask(new wxMask(bmpe, *wxLIGHT_GREY)); bmps.SetMask(new wxMask(bmps, *wxLIGHT_GREY)); #endif // create the buttons and attach tooltips to them wxBitmapButton *bn = new wxBitmapButton(panel, ID_NORTH, bmpn), *bw = new wxBitmapButton(panel, ID_WEST , bmpw), *bc = new wxBitmapButton(panel, ID_CENTER, bmpc), *be = new wxBitmapButton(panel, ID_EAST , bmpe), *bs = new wxBitmapButton(panel, ID_SOUTH, bmps); #if wxUSE_TOOLTIPS bn->SetToolTip(_("Find northernmost cell")); bw->SetToolTip(_("Find westernmost cell")); bc->SetToolTip(_("Find center of mass")); be->SetToolTip(_("Find easternmost cell")); bs->SetToolTip(_("Find southernmost cell")); #endif // add buttons to sizers sizer2->Add( bw, 0, wxCENTRE | wxWEST, 4 ); sizer2->Add( bc, 0, wxCENTRE); sizer2->Add( be, 0, wxCENTRE | wxEAST, 4 ); sizer1->Add( bn, 0, wxCENTRE | wxNORTH, 4 ); sizer1->Add( sizer2 ); sizer1->Add( bs, 0, wxCENTRE | wxSOUTH, 4 ); // set the panel and miniframe size panel->SetSizer(sizer1); sizer1->Fit(panel); SetClientSize(panel->GetSize()); wxSize sz = GetSize(); SetSizeHints(sz.x, sz.y, sz.x, sz.y); // move it to a sensible position wxRect parentRect = parent->GetRect(); wxSize childSize = GetSize(); int x = parentRect.GetX() + parentRect.GetWidth(); int y = parentRect.GetY() + (parentRect.GetHeight() - childSize.GetHeight()) / 4; Move(x, y); // done Show(true); }
// frame constructor LifeFrame::LifeFrame() : wxFrame( (wxFrame *) NULL, wxID_ANY, _("Life!"), wxDefaultPosition ), m_navigator(NULL) { // frame icon SetIcon(wxICON(mondrian)); // menu bar wxMenu *menuFile = new wxMenu(wxMENU_TEAROFF); wxMenu *menuView = new wxMenu(wxMENU_TEAROFF); wxMenu *menuGame = new wxMenu(wxMENU_TEAROFF); wxMenu *menuHelp = new wxMenu(wxMENU_TEAROFF); menuFile->Append(wxID_NEW, wxEmptyString, _("Start a new game")); #if wxUSE_FILEDLG menuFile->Append(wxID_OPEN, wxEmptyString, _("Open an existing Life pattern")); #endif menuFile->Append(ID_SAMPLES, _("&Sample game..."), _("Select a sample configuration")); #if ! (defined(__SMARTPHONE__) || defined(__POCKETPC__)) menuFile->AppendSeparator(); menuFile->Append(wxID_EXIT); menuView->Append(ID_SHOWNAV, _("Navigation &toolbox"), _("Show or hide toolbox"), wxITEM_CHECK); menuView->Check(ID_SHOWNAV, true); menuView->AppendSeparator(); #endif menuView->Append(ID_ORIGIN, _("&Absolute origin"), _("Go to (0, 0)")); menuView->Append(ID_CENTER, _("&Center of mass"), _("Find center of mass")); menuView->Append(ID_NORTH, _("&North"), _("Find northernmost cell")); menuView->Append(ID_SOUTH, _("&South"), _("Find southernmost cell")); menuView->Append(ID_EAST, _("&East"), _("Find easternmost cell")); menuView->Append(ID_WEST, _("&West"), _("Find westernmost cell")); menuView->AppendSeparator(); menuView->Append(wxID_ZOOM_IN, wxEmptyString, _("Zoom in")); menuView->Append(wxID_ZOOM_OUT, wxEmptyString, _("Zoom out")); menuView->Append(ID_INFO, _("&Description\tCtrl-D"), _("View pattern description")); menuGame->Append(ID_START, _("&Start\tCtrl-S"), _("Start")); menuGame->Append(ID_STEP, _("&Next\tCtrl-N"), _("Single step")); menuGame->Append(wxID_STOP, wxEmptyString, _("Stop")); menuGame->Enable(wxID_STOP, false); menuGame->AppendSeparator(); menuGame->Append(ID_TOPSPEED, _("T&op speed!"), _("Go as fast as possible")); menuHelp->Append(wxID_ABOUT, _("&About\tCtrl-A"), _("Show about dialog")); wxMenuBar *menuBar = new wxMenuBar(); menuBar->Append(menuFile, _("&File")); menuBar->Append(menuView, _("&View")); menuBar->Append(menuGame, _("&Game")); menuBar->Append(menuHelp, _("&Help")); SetMenuBar(menuBar); // tool bar wxBitmap tbBitmaps[7]; tbBitmaps[0] = wxBITMAP(reset); tbBitmaps[1] = wxBITMAP(open); tbBitmaps[2] = wxBITMAP(zoomin); tbBitmaps[3] = wxBITMAP(zoomout); tbBitmaps[4] = wxBITMAP(info); tbBitmaps[5] = wxBITMAP(play); tbBitmaps[6] = wxBITMAP(stop); wxToolBar *toolBar = CreateToolBar(); toolBar->SetMargins(5, 5); toolBar->SetToolBitmapSize(wxSize(16, 16)); ADD_TOOL(wxID_NEW, tbBitmaps[0], wxGetStockLabel(wxID_NEW, wxSTOCK_NOFLAGS), _("Start a new game")); #ifndef __POCKETPC__ #if wxUSE_FILEDLG ADD_TOOL(wxID_OPEN, tbBitmaps[1], wxGetStockLabel(wxID_OPEN, wxSTOCK_NOFLAGS), _("Open an existing Life pattern")); #endif // wxUSE_FILEDLG toolBar->AddSeparator(); ADD_TOOL(wxID_ZOOM_IN, tbBitmaps[2], wxGetStockLabel(wxID_ZOOM_IN, wxSTOCK_NOFLAGS), _("Zoom in")); ADD_TOOL(wxID_ZOOM_OUT, tbBitmaps[3], wxGetStockLabel(wxID_ZOOM_OUT, wxSTOCK_NOFLAGS), _("Zoom out")); ADD_TOOL(ID_INFO, tbBitmaps[4], _("Description"), _("Show description")); toolBar->AddSeparator(); #endif // __POCKETPC__ ADD_TOOL(ID_START, tbBitmaps[5], _("Start"), _("Start")); ADD_TOOL(wxID_STOP, tbBitmaps[6], _("Stop"), _("Stop")); toolBar->Realize(); toolBar->EnableTool(wxID_STOP, false); // must be after Realize() ! #if wxUSE_STATUSBAR // status bar CreateStatusBar(2); SetStatusText(_("Welcome to Life!")); #endif // wxUSE_STATUSBAR // game and timer m_life = new Life(); m_timer = new wxTimer(this, ID_TIMER); m_running = false; m_topspeed = false; m_interval = 500; m_tics = 0; // We use two different panels to reduce flicker in wxGTK, because // some widgets (like wxStaticText) don't have their own X11 window, // and thus updating the text would result in a refresh of the canvas // if they belong to the same parent. wxPanel *panel1 = new wxPanel(this, wxID_ANY); wxPanel *panel2 = new wxPanel(this, wxID_ANY); // canvas m_canvas = new LifeCanvas(panel1, m_life); // info panel m_text = new wxStaticText(panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER | wxST_NO_AUTORESIZE); wxSlider *slider = new wxSlider(panel2, ID_SLIDER, 5, 1, 10, wxDefaultPosition, wxSize(200, wxDefaultCoord), wxSL_HORIZONTAL | wxSL_AUTOTICKS); UpdateInfoText(); // component layout wxBoxSizer *sizer1 = new wxBoxSizer(wxVERTICAL); wxBoxSizer *sizer2 = new wxBoxSizer(wxVERTICAL); wxBoxSizer *sizer3 = new wxBoxSizer(wxVERTICAL); #if wxUSE_STATLINE sizer1->Add( new wxStaticLine(panel1, wxID_ANY), 0, wxGROW ); #endif // wxUSE_STATLINE sizer1->Add( m_canvas, 1, wxGROW | wxALL, 2 ); #if wxUSE_STATLINE sizer1->Add( new wxStaticLine(panel1, wxID_ANY), 0, wxGROW ); #endif // wxUSE_STATLINE panel1->SetSizer( sizer1 ); sizer1->Fit( panel1 ); sizer2->Add( m_text, 0, wxGROW | wxTOP, 4 ); sizer2->Add( slider, 0, wxCENTRE | wxALL, 4 ); panel2->SetSizer( sizer2 ); sizer2->Fit( panel2 ); sizer3->Add( panel1, 1, wxGROW ); sizer3->Add( panel2, 0, wxGROW ); SetSizer( sizer3 ); #ifndef __WXWINCE__ sizer3->Fit( this ); // set minimum frame size sizer3->SetSizeHints( this ); // navigator frame - not appropriate for small devices m_navigator = new LifeNavigator(this); #endif }
void ASSDrawFrame::SetToolBars() { drawtbar = new wxToolBar(this, wxID_ANY, __DPDS__ , wxTB_FLAT | wxTB_TEXT | wxTB_NODIVIDER | wxTB_HORIZONTAL); drawtbar->AddTool(TB_CLEAR, _T("Clear"), wxBITMAP(new_), wxNullBitmap, wxITEM_NORMAL, _T(""), TIPS_CLEAR); //tbar->AddTool(TB_EDITSRC, _T("Source"), wxBITMAP(src_), wxNullBitmap, wxITEM_NORMAL, _T(""), TIPS_EDITSRC); drawtbar->AddCheckTool(TB_PREVIEW, _T("Preview"), wxBITMAP(preview_), wxNullBitmap, _T(""), TIPS_PREVIEW); //drawtbar->AddTool(TB_TRANSFORM, _T("Transform"), wxBITMAP(rot_), wxNullBitmap, wxITEM_NORMAL, _T(""), TIPS_TRANSFORM); zoomslider = new wxSlider(drawtbar, TB_ZOOMSLIDER, 1000, 100, 5000, __DPDS__ ); //zoomslider->SetSize(280, zoomslider->GetSize().y); zoomslider->Connect(wxEVT_SCROLL_LINEUP, wxScrollEventHandler(ASSDrawFrame::OnZoomSliderChanged), NULL, this); zoomslider->Connect(wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler(ASSDrawFrame::OnZoomSliderChanged), NULL, this); zoomslider->Connect(wxEVT_SCROLL_PAGEUP, wxScrollEventHandler(ASSDrawFrame::OnZoomSliderChanged), NULL, this); zoomslider->Connect(wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler(ASSDrawFrame::OnZoomSliderChanged), NULL, this); zoomslider->Connect(wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler(ASSDrawFrame::OnZoomSliderChanged), NULL, this); zoomslider->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(ASSDrawFrame::OnZoomSliderChanged), NULL, this); drawtbar->AddControl(zoomslider); drawtbar->Realize(); m_mgr.AddPane(drawtbar, wxAuiPaneInfo().Name(_T("drawtbar")).Caption(TBNAME_DRAW). ToolbarPane().Top().Position(0).Dockable(true).LeftDockable(false).RightDockable(false)); modetbar = new wxToolBar(this, wxID_ANY, __DPDS__ , wxTB_FLAT | wxTB_TEXT | wxTB_NODIVIDER | wxTB_HORIZONTAL); modetbar->AddRadioTool(MODE_ARR, _T("Drag"), wxBITMAP(arr_), wxNullBitmap, _T(""), TIPS_ARR); modetbar->AddRadioTool(MODE_M, _T("Move"), wxBITMAP(m_), wxNullBitmap, _T(""), TIPS_M); //modetbar->AddRadioTool(MODE_N, _T("Move*"), wxBITMAP(n_), wxNullBitmap, _T(""), TIPS_N); modetbar->AddRadioTool(MODE_L, _T("Line"), wxBITMAP(l_), wxNullBitmap, _T(""), TIPS_L); modetbar->AddRadioTool(MODE_B, _T("Bezier"), wxBITMAP(b_), wxNullBitmap, _T(""), TIPS_B); //modetbar->AddRadioTool(MODE_S, _T("Spline"), wxBITMAP(s_), wxNullBitmap, _T(""), TIPS_S); //modetbar->AddRadioTool(MODE_P, _T("Extend"), wxBITMAP(p_), wxNullBitmap, _T(""), TIPS_P); //modetbar->AddRadioTool(MODE_C, _T("Close"), wxBITMAP(c_), wxNullBitmap, _T(""), TIPS_C); modetbar->AddRadioTool(MODE_DEL, _T("Delete"), wxBITMAP(del_), wxNullBitmap, _T(""), TIPS_DEL); modetbar->AddRadioTool(MODE_SCALEROTATE, _T("Scale/Rotate"), wxBITMAP(sc_rot_), wxNullBitmap, _T(""), TIPS_SCALEROTATE); modetbar->AddRadioTool(MODE_NUT_BILINEAR, _T("Bilinear"), wxBITMAP(nut_), wxNullBitmap, _T(""), TIPS_NUTB); //modetbar->AddRadioTool(MODE_NUT_PERSPECTIVE, _T("NUT:P"), wxBITMAP(arr_), wxNullBitmap, _T(""), _T("")); modetbar->Realize(); m_mgr.AddPane(modetbar, wxAuiPaneInfo().Name(_T("modetbar")).Caption(TBNAME_MODE). ToolbarPane().Top().Position(1).Dockable(true).LeftDockable(false).RightDockable(false)); bgimgtbar = new wxToolBar(this, wxID_ANY, __DPDS__ , wxTB_FLAT | wxTB_TEXT | wxTB_NODIVIDER | wxTB_HORIZONTAL); bgimgtbar->SetToolBitmapSize(wxSize(24,15)); bgimgtbar->AddCheckTool(DRAG_DWG, _T("Pan drawing"), wxBITMAP(pan_shp), wxNullBitmap, _T(""), TIPS_DWG); bgimgtbar->AddCheckTool(DRAG_BGIMG, _T("Pan background"), wxBITMAP(pan_bg), wxNullBitmap, _T(""), TIPS_BGIMG); //bgimgtbar->AddRadioTool(DRAG_BOTH, _T("Pan both"), wxBITMAP(pan_both), wxNullBitmap, _T(""), TIPS_BOTH); bgimgtbar->Realize(); m_mgr.AddPane(bgimgtbar, wxAuiPaneInfo().Name(_T("bgimgtbar")).Caption(TBNAME_BGIMG). ToolbarPane().Top().Position(2).Dockable(true).LeftDockable(false).RightDockable(false)); }
bool MaterialEditor::Create(wxWindow *parent, wxWindowID winid, const wxPoint& pos, const wxSize& size, long style) { if (!wxPanel::Create(parent, winid, pos, size, style)) return false; wxFlexGridSizer* sizer = new wxFlexGridSizer(1); sizer->AddGrowableCol(0); sizer->AddGrowableRow(1); m_toolBar = new wxToolBar( this, wxID_ANY, wxDefaultPosition, wxSize(-1,28)); m_toolBar->AddTool(feID_NEW_MATERIAL, wxBITMAP(NEW),wxBITMAP(NEW),false, 0,wxDefaultCoord,NULL, wxT("创建材质"),wxT("创建材质")); m_toolBar->AddTool(feID_SAVEAS_MATERIAL, wxBITMAP(SAVEAS),wxBITMAP(SAVEAS),false, 1,wxDefaultCoord,NULL, wxT("另存材质"),wxT("另存材质")); m_toolBar->AddTool(feID_SAVE_MATERIAL, wxBITMAP(SAVE),wxBITMAP(SAVE),false, 2,wxDefaultCoord,NULL, wxT("保存材质"),wxT("保存材质")); m_toolBar->AddTool(feID_DELETE_MATERIAL, wxBITMAP(DELETE),wxBITMAP(DELETE),false, 3,wxDefaultCoord,NULL, wxT("删除材质元素"),wxT("删除材质元素")); m_toolBar->AddSeparator(); m_toolBar->AddTool(feID_NEW_TECHNIQUE, wxBITMAP(NEWTECHNIQUE),wxBITMAP(NEWTECHNIQUE),false, 4,wxDefaultCoord,NULL, wxT("添加Technique"),wxT("添加Technique")); m_toolBar->AddTool(feID_NEW_PASS, wxBITMAP(NEWPASS),wxBITMAP(NEWPASS),false, 5,wxDefaultCoord,NULL, wxT("添加Pass"),wxT("添加Pass")); m_toolBar->AddTool(feID_NEW_TEXTUREUNIT, wxBITMAP(NEWTEXTURE),wxBITMAP(NEWTEXTURE),false, 6,wxDefaultCoord,NULL, wxT("添加贴图单元"),wxT("添加贴图单元")); m_toolBar->Realize(); sizer->Add( m_toolBar, 0, wxEXPAND, 0 ); m_MaterialTree = new MaterialTree( this,ID_MATERIAL_OBJECT_TREE, wxDefaultPosition, wxDefaultSize); sizer->Add( m_MaterialTree, 0, wxGROW|wxALL, 0 ); this->SetSizer( sizer ); sizer->SetSizeHints(this); return true; }
drwnIconFactory::drwnIconFactory() : _defaultIcon(NULL) { // create default bitmap _defaultIcon = setIconMask(new wxBitmap(wxBITMAP(nodeGeneric))); // register standard types _registry["drwnBinaryOpNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeBinaryOp))); _registry["drwnBoostedClassifierNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeBoosting))); _registry["drwnConcatenationNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeConcatenation))); _registry["drwnConfusionMatrixNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeConfusionMatrix))); _registry["drwnDataExplorerNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeDataExplorer))); _registry["drwnDecisionTreeNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeDecisionTree))); _registry["drwnDitherPlotNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeDitherPlot))); _registry["drwnExportFilesNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeDirSink))); _registry["drwnImportFilesNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeDirSource))); _registry["drwnLinearRegressionNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeLinear))); _registry["drwnLinearTransformNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeProjection))); _registry["drwnLUTDecoderNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeLUTDecoder))); _registry["drwnLUTEncoderNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeLUTEncoder))); _registry["drwnMultiClassLogisticNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeLogistic))); _registry["drwnMultiClassLDANode"] = setIconMask(new wxBitmap(wxBITMAP(nodeMultiClassLDA))); _registry["drwnPCANode"] = setIconMask(new wxBitmap(wxBITMAP(nodePCA))); _registry["drwnPRCurveNode"] = setIconMask(new wxBitmap(wxBITMAP(nodePRCurve))); _registry["drwnRescaleNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeRescale))); _registry["drwnRollupNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeRollup))); _registry["drwnScatterPlotNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeScatterPlot))); _registry["drwnTextFileSinkNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeTextFileSink))); _registry["drwnTextFileSourceNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeTextFileSource))); _registry["drwnUnaryOpNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeUnaryOp))); // matlab plugin _registry["drwnMatlabNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeMatlab))); // TODO: move _registry["drwnMATFileSinkNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeMATSink))); // TODO: move _registry["drwnMATFileSourceNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeMATSource))); // TODO: move // opencv plugin _registry["drwnOpenCVImageSinkNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeOpenCVSink))); // TODO: move _registry["drwnOpenCVImageSourceNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeOpenCVSource))); // TODO: move _registry["drwnOpenCVResizeNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeOpenCV))); // TODO: move _registry["drwnOpenCVFilterBankNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeOpenCV))); // TODO: move _registry["drwnOpenCVIntegralImageNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeOpenCV))); // TODO: move _registry["drwnOpenCVNeighborhoodFeaturesNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeOpenCV))); // TODO: move // lua plugin _registry["drwnLuaNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeLua))); // TODO: move _registry["drwnLuaDummyNode"] = setIconMask(new wxBitmap(wxBITMAP(nodeLua))); // TODO: remove // python plugin _registry["drwnPythonNode"] = setIconMask(new wxBitmap(wxBITMAP(nodePython))); // TODO: move _registry["drwnPythonDummyNode"] = setIconMask(new wxBitmap(wxBITMAP(nodePython))); // TODO: remove }