Configuration::Configuration(wxWindow* parent,wxWindowID id) { //(*Initialize(Configuration) wxBoxSizer* sizDefaults; Create(parent, id, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("id")); sizMain = new wxBoxSizer(wxHORIZONTAL); sizGroups = new wxStaticBoxSizer(wxVERTICAL, this, _("Groups")); m_Groups = new wxListBox(this, ID_LST_GROUPS, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_LST_GROUPS")); m_Groups->SetToolTip(_("This is a list of all groups of bindings available to the plugin.")); sizGroups->Add(m_Groups, 1, wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizAddDeleteRename = new wxBoxSizer(wxHORIZONTAL); m_AddGroup = new wxButton(this, ID_BTN_ADD_GROUP, _("Add"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_BTN_ADD_GROUP")); m_AddGroup->SetToolTip(_("Add a new group...")); sizAddDeleteRename->Add(m_AddGroup, 1, wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 2); m_DeleteGroup = new wxButton(this, ID_BTN_DELETE_GROUP, _("Delete"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_BTN_DELETE_GROUP")); m_DeleteGroup->SetToolTip(_("Delete the selected group...")); sizAddDeleteRename->Add(m_DeleteGroup, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 2); m_RenameGroup = new wxButton(this, ID_BTN_RENAME_GROUP, _("Rename"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_BTN_RENAME_GROUP")); m_RenameGroup->SetToolTip(_("Rename the selected group...")); sizAddDeleteRename->Add(m_RenameGroup, 1, wxLEFT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 2); sizGroups->Add(sizAddDeleteRename, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizDefaults = new wxBoxSizer(wxHORIZONTAL); m_Defaults = new wxButton(this, ID_BTN_DEFAULTS, _("Defaults"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BTN_DEFAULTS")); sizDefaults->Add(m_Defaults, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizGroups->Add(sizDefaults, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizMain->Add(sizGroups, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizBindings = new wxStaticBoxSizer(wxVERTICAL, this, _("Bindings")); sizIdentifiersHor = new wxBoxSizer(wxHORIZONTAL); sizIdentifiersVert = new wxBoxSizer(wxVERTICAL); lblIdentifiers = new wxStaticText(this, ID_LBL_IDENTIFIERS, _("Identifiers:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_LBL_IDENTIFIERS")); sizIdentifiersVert->Add(lblIdentifiers, 0, wxBOTTOM|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizIdentifiers = new wxBoxSizer(wxHORIZONTAL); m_Identifiers = new wxListBox(this, ID_LST_IDENTIFIERS, wxDefaultPosition, wxSize(188,115), 0, 0, 0, wxDefaultValidator, _T("ID_LST_IDENTIFIERS")); m_Identifiers->SetToolTip(_("This is a list of all identifiers (tokens) available within the selected group.")); sizIdentifiers->Add(m_Identifiers, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizAddDeleteChange = new wxBoxSizer(wxVERTICAL); m_AddIdentifier = new wxButton(this, ID_BTN_ADD_IDENTIFIER, _("Add"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_BTN_ADD_IDENTIFIER")); m_AddIdentifier->SetToolTip(_("Add a new identifier...")); sizAddDeleteChange->Add(m_AddIdentifier, 0, wxBOTTOM|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_DeleteIdentifier = new wxButton(this, ID_BTN_DELETE_IDENTIFIERS, _("Delete"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_BTN_DELETE_IDENTIFIERS")); m_DeleteIdentifier->SetToolTip(_("Delete the selected identifier...")); sizAddDeleteChange->Add(m_DeleteIdentifier, 0, wxBOTTOM|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_ChangeIdentifier = new wxButton(this, ID_BTN_CHANGE_IDENTIFIER, _("Change"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_BTN_CHANGE_IDENTIFIER")); m_ChangeIdentifier->SetToolTip(_("Change (rename) the selected identifier...")); sizAddDeleteChange->Add(m_ChangeIdentifier, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizIdentifiers->Add(sizAddDeleteChange, 0, wxLEFT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizIdentifiersVert->Add(sizIdentifiers, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizIdentifiersHor->Add(sizIdentifiersVert, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizBindings->Add(sizIdentifiersHor, 1, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizHeaders = new wxBoxSizer(wxVERTICAL); lblHeaders = new wxStaticText(this, ID_LBL_HEADERS, _("Headers:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_LBL_HEADERS")); sizHeaders->Add(lblHeaders, 0, wxBOTTOM|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_Headers = new wxTextCtrl(this, ID_TXT_HEADERS, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER|wxTE_MULTILINE, wxDefaultValidator, _T("ID_TXT_HEADERS")); m_Headers->SetToolTip(_("This is a list of all header files required for the selected identifier (token) within the selected group.")); sizHeaders->Add(m_Headers, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizBindings->Add(sizHeaders, 1, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sizMain->Add(sizBindings, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); SetSizer(sizMain); sizMain->Fit(this); sizMain->SetSizeHints(this); Connect(ID_LST_GROUPS,wxEVT_COMMAND_LISTBOX_SELECTED,(wxObjectEventFunction)&Configuration::OnGroupsSelect); Connect(ID_LST_GROUPS,wxEVT_COMMAND_LISTBOX_DOUBLECLICKED,(wxObjectEventFunction)&Configuration::OnRenameGroup); Connect(ID_BTN_ADD_GROUP,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&Configuration::OnBtnAddGroupClick); Connect(ID_BTN_DELETE_GROUP,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&Configuration::OnBtnDeleteGroupClick); Connect(ID_BTN_RENAME_GROUP,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&Configuration::OnRenameGroup); Connect(ID_BTN_DEFAULTS,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&Configuration::OnBtnDefaultsClick); Connect(ID_LST_IDENTIFIERS,wxEVT_COMMAND_LISTBOX_SELECTED,(wxObjectEventFunction)&Configuration::OnIdentifiersSelect); Connect(ID_LST_IDENTIFIERS,wxEVT_COMMAND_LISTBOX_DOUBLECLICKED,(wxObjectEventFunction)&Configuration::OnChangeIdentifier); Connect(ID_BTN_ADD_IDENTIFIER,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&Configuration::OnBtnAddIdentifierClick); Connect(ID_BTN_DELETE_IDENTIFIERS,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&Configuration::OnBtnDeleteIdentifierClick); Connect(ID_BTN_CHANGE_IDENTIFIER,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&Configuration::OnChangeIdentifier); Connect(ID_TXT_HEADERS,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&Configuration::OnHeadersText); //*) m_BlockHeadersText = false; m_Dirty = false; ShowGroups(); }// Configuration
vector_layer_settings_control::vector_layer_settings_control(unsigned int index_, layer_control* parent, wxWindowID id, const wxString& title, long style, const wxPoint& pos, const wxSize& size) : layer_settings_control(parent, id, title, pos, size, style), m_parent(parent) { index(index_); m_colourPickerPoints = NULL; m_colourPickerRingsPolygons = NULL; m_colourPickerInsidePolygons = NULL; m_colourPickerLines = NULL; m_sliderWidthPoints = NULL; m_sliderWidthLines = NULL; m_sliderWidthRings = NULL; m_choicePoints = NULL; m_choicePolygons = NULL; m_choiceLines = NULL; m_choiceLabels = NULL; wxColour bgcolor(220, 220, 220); SetBackgroundColour(bgcolor); ClearBackground(); #if ((wxMAJOR_VERSION == 2 && wxMINOR_VERSION > 8) || wxMAJOR_VERSION > 2) m_main_sizer = new wxFlexGridSizer(1,0,0); #else m_main_sizer = new wxFlexGridSizer(3,1,0,0); #endif m_main_sizer->AddGrowableCol(0); m_main_sizer->AddGrowableRow(0); m_main_sizer->AddGrowableRow(1); m_main_sizer->AddGrowableRow(2); //////////////////////// /// /// Points settings /// //////////////////////// { wxStaticBoxSizer *boxSizerPoints = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Points settings")); m_colourPickerPoints = new wxColourPickerCtrl(this, wxID_ANY, *wxRED, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE); wxStaticBoxSizer *boxSizerWidthPoints = new wxStaticBoxSizer(wxVERTICAL, this, _("Width")); m_sliderWidthPoints = new wxSlider(this, wxID_ANY, 3, 1, 10, wxDefaultPosition, wxSize(100, 40)); boxSizerWidthPoints->Add(m_sliderWidthPoints, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); boxSizerPoints->Add(m_colourPickerPoints, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); boxSizerPoints->Add(boxSizerWidthPoints, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); //m_choicePoints = new wxRadioBox( this, wxID_ANY, _("Points style"), wxDefaultPosition, wxDefaultSize, WXSIZEOF(VectorLayerSettingsControl::choices_points), VectorLayerSettingsControl::choices_points, 1, wxRA_SPECIFY_COLS ); m_choicePoints = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, WXSIZEOF(vector_layer_settings_control::choices_points), vector_layer_settings_control::choices_points); m_choicePoints->SetSelection(0); m_choicePoints->Enable(false); boxSizerPoints->Add(m_choicePoints, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); m_main_sizer->Add(boxSizerPoints, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); } //////////////////////// /// /// Lines settings /// //////////////////////// { wxStaticBoxSizer *boxSizerLines = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Lines settings")); m_colourPickerLines = new wxColourPickerCtrl(this, wxID_ANY, *wxRED, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE); wxStaticBoxSizer *boxSizerWidthLines = new wxStaticBoxSizer(wxVERTICAL, this, _("Width")); m_sliderWidthLines = new wxSlider(this, wxID_ANY, 1, 1, 10, wxDefaultPosition, wxSize(100, 40)); boxSizerWidthLines->Add(m_sliderWidthLines, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); boxSizerLines->Add(m_colourPickerLines, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); boxSizerLines->Add(boxSizerWidthLines, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); m_choiceLines = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, WXSIZEOF(vector_layer_settings_control::choices_lines), vector_layer_settings_control::choices_lines); m_choiceLines->SetSelection(0); boxSizerLines->Add(m_choiceLines, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); m_main_sizer->Add(boxSizerLines, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); } //////////////////////// /// /// Polygons settings /// //////////////////////// { wxStaticBoxSizer *boxSizerPolygons = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Polygons settings")); wxBoxSizer *boxColorPickersPolygons = new wxBoxSizer(wxVERTICAL); wxStaticBoxSizer *boxSizerRingsColour = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Rings colour")); wxStaticBoxSizer *boxSizerInsideColour = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Inside colour")); m_colourPickerRingsPolygons = new wxColourPickerCtrl(this, wxID_ANY, *wxRED, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE); m_colourPickerInsidePolygons = new wxColourPickerCtrl(this, wxID_ANY, *wxBLUE, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE); boxSizerRingsColour->Add(m_colourPickerRingsPolygons, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); boxSizerInsideColour->Add(m_colourPickerInsidePolygons, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); boxColorPickersPolygons->Add(boxSizerRingsColour, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); boxColorPickersPolygons->Add(boxSizerInsideColour, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); wxBoxSizer *boxSlidersPolygons = new wxBoxSizer(wxVERTICAL); wxStaticBoxSizer *boxSizerRingsWidth = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Rings width")); // Ring width m_sliderWidthRings = new wxSlider(this, wxID_ANY, 1, 1, 10, wxDefaultPosition, wxSize(100, 40)); boxSizerRingsWidth->Add(m_sliderWidthRings, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); boxSlidersPolygons->Add(boxSizerRingsWidth, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); boxSizerPolygons->Add(boxColorPickersPolygons, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); boxSizerPolygons->Add(boxSlidersPolygons, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); m_choicePolygons = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, WXSIZEOF(vector_layer_settings_control::choices_inside_polygons), vector_layer_settings_control::choices_inside_polygons); m_choicePolygons->SetSelection(0); boxSizerPolygons->Add(m_choicePolygons, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); m_main_sizer->Add(boxSizerPolygons, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); } //////////////////////// /// /// DBF : etiquettes /// //////////////////////// /* if (ogr_vectorLayer || (vectorLayer && (vectorLayer->LayerContent()->FlagDBF()))) { wxStaticBoxSizer *boxSizerLabels = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Labels")); wxArrayString attributesNames; // On parcourt le vecteur et on recupere les valeurs (on met une chaine vide en premier --> permet de ne rien afficher) attributesNames.Add(wxT("")); for (unsigned int i = 0; i < vectorLayer->LayerContent()->m_dbfAttributesNames.size(); ++i) attributesNames.Add(vectorLayer->LayerContent()->m_dbfAttributesNames[i]); // Pffffffffffffffff wxCArrayString temp(attributesNames); m_choiceLabels = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, attributesNames.GetCount(), temp.GetStrings()); boxSizerLabels->Add(m_choiceLabels, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); m_main_sizer->Add(boxSizerLabels, 1, wxEXPAND | wxALL, 5); } */ //////////////////////// /// /// Texts /// //////////////////////// wxStaticBoxSizer *boxSizerTexts = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Texts settings")); // texts color wxStaticBoxSizer *boxSizerTextsColor = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Texts color")); boxSizerTexts->Add(boxSizerTextsColor, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); m_colourPickerTexts = new wxColourPickerCtrl(this, wxID_ANY, *wxRED, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE); boxSizerTextsColor->Add(m_colourPickerTexts, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); /* // texts font wxStaticBoxSizer *boxSizerTextsFont = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Texts font")); boxSizerTexts->Add(boxSizerTextsFont, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); m_fontPickerTexts = new wxFontPickerCtrl(this, wxID_ANY, wxNullFont, wxDefaultPosition, wxDefaultSize, wxFNTP_USE_TEXTCTRL); boxSizerTextsFont->Add(m_fontPickerTexts, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); */ // texts visibility wxStaticBoxSizer *boxSizerTextsVisibility = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Texts visibility")); boxSizerTexts->Add(boxSizerTextsVisibility, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); m_checkShowTexts = new wxCheckBox(this, wxID_ANY, _("Show texts")); m_checkShowTexts->SetValue(true); boxSizerTextsVisibility->Add(m_checkShowTexts, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); m_main_sizer->Add(boxSizerTexts, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5); //////////////////////// /// /// Buttons /// //////////////////////// wxStdDialogButtonSizer *buttons_sizer = new wxStdDialogButtonSizer(); buttons_sizer->AddButton(new wxButton(this, wxID_OK, wxT("OK"))); buttons_sizer->AddButton(new wxButton(this, wxID_APPLY, wxT("Apply"))); buttons_sizer->AddButton(new wxButton(this, wxID_CANCEL, wxT("Cancel"))); buttons_sizer->Realize(); m_main_sizer->Add(buttons_sizer, 0, wxALIGN_RIGHT | wxALL, 5); m_main_sizer->SetSizeHints(this); SetSizer(m_main_sizer); Layout(); Centre(); }
SingleOptionDialog::SingleOptionDialog( IBattle& battle, const wxString& optiontag ) : m_battle( battle ), m_tag( optiontag ), m_checkbox( 0 ), m_combobox( 0 ), m_spinctrl( 0 ), m_textctrl( 0 ) { OptionsWrapper& optWrap = m_battle.CustomBattleOptions(); OptionsWrapper::GameOption optFlag = ( OptionsWrapper::GameOption )s2l( optiontag.BeforeFirst( '_' ) ); wxString key = optiontag.AfterFirst( '_' ); OptionType type = optWrap.GetSingleOptionType( key ); Create( (wxWindow*)&ui().mw(), wxID_ANY, _( "Change option" ), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T( "OptionDialog" ) ); if ( !optWrap.keyExists( key, optFlag, false, type ) ) { EndModal( wxID_CANCEL ); return; } wxBoxSizer* m_main_sizer = new wxBoxSizer( wxVERTICAL ); // wxStaticText* m_labelctrl = wxStaticText(); switch ( type ) { case opt_bool: { mmOptionBool opt = optWrap.m_opts[optFlag].bool_map[key]; m_checkbox = new wxCheckBox( this, wxID_ANY, opt.name ); m_checkbox->SetToolTip( TE( opt.description ) ); m_checkbox->SetValue( opt.value ); m_main_sizer->Add( m_checkbox, 0, wxEXPAND ); break; } case opt_float: { mmOptionFloat opt = optWrap.m_opts[optFlag].float_map[key]; m_spinctrl = new SlSpinCtrlDouble<SingleOptionDialog>(); m_spinctrl->Create( this, wxID_ANY, _T( "" ), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, double( opt.min ), double( opt.max ), double( opt.value ), double( opt.stepping ), opt.key ); m_spinctrl->SetToolTip( TE( opt.description ) ); m_main_sizer->Add( m_spinctrl, 0, wxEXPAND ); break; } case opt_string: { mmOptionString opt = optWrap.m_opts[optFlag].string_map[key]; m_textctrl = new wxTextCtrl( this, wxID_ANY, opt.value, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, opt.key ); m_textctrl->SetToolTip( TE( opt.description ) ); m_main_sizer->Add( m_textctrl, 0, wxEXPAND ); break; } case opt_list: { mmOptionList opt = optWrap.m_opts[optFlag].list_map[key]; int temp = int( opt.cbx_choices.GetCount() - 1 ); int index = clamp( opt.cur_choice_index, 0, temp ); m_combobox = new wxComboBox( this, wxID_ANY, opt.cbx_choices[index], wxDefaultPosition, wxDefaultSize, opt.cbx_choices, wxCB_READONLY, wxDefaultValidator ); wxString tooltip = opt.description + _T( "\n" ); for ( ListItemVec::iterator itor = opt.listitems.begin(); itor != opt.listitems.end(); itor++ ) { tooltip += _T( "\n" ) + itor->name + _T( ": " ) + itor->desc; } m_combobox->SetToolTip( TE( tooltip ) ); m_main_sizer->Add( m_combobox, 0, wxEXPAND ); break; } default: { EndModal( wxID_CANCEL ); return; break; } } wxSize __SpacerSize_1 = wxDLG_UNIT( this, wxSize( 0, 0 ) ); m_main_sizer->Add( __SpacerSize_1.GetWidth(), __SpacerSize_1.GetHeight(), 0, wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5 ); wxStaticLine* m_separator1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxSize( 10, -1 ), wxLI_HORIZONTAL, _T( "ID_STATICLINE1" ) ); m_main_sizer->Add( m_separator1, 0, wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5 ); wxBoxSizer* m_buttons_sizer = new wxBoxSizer( wxHORIZONTAL ); m_cancel_button = new wxButton( this, ID_CANCEL, _( "Cancel" ), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T( "ID_CANCEL" ) ); m_buttons_sizer->Add( m_cancel_button, 0, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5 ); m_buttons_sizer->Add( 0, 0, 1, wxALL | wxEXPAND | wxSHAPED | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 0 ); m_ok_button = new wxButton( this, ID_OK, _( "Ok" ), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T( "ID_OK" ) ); m_buttons_sizer->Add( m_ok_button, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, 5 ); m_main_sizer->Add( m_buttons_sizer, 0, wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 0 ); m_main_sizer->Fit( this ); m_main_sizer->SetSizeHints( this ); SetSizer( m_main_sizer ); Layout(); Connect( ID_CANCEL, wxEVT_COMMAND_BUTTON_CLICKED, ( wxObjectEventFunction )&SingleOptionDialog::OnCancel ); Connect( ID_OK, wxEVT_COMMAND_BUTTON_CLICKED, ( wxObjectEventFunction )&SingleOptionDialog::OnOk ); }
MainFrame::MainFrame( bool _demoMode ) : wxFrame(NULL, -1, wxT("")), demoMode(_demoMode) { if (demoMode) SetTitle( wxT("Mode demonstration - ") + StudentsNames); else SetTitle( wxT("Mode developpement - ") + StudentsNames); wxGridSizer * droite = NULL; if (demoMode) { droite = new wxGridSizer(2); { miniPanels[0] = new Panel3D(this, &engine, Renderer::Filaire); miniPanels[0]->SetSizeHints(160, 120); // taille minimale de la zone de dessin (format 4/3) droite->Add(miniPanels[0], 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL , 2); } { miniPanels[1] = new Panel3D(this, &engine, Renderer::FilaireCache); miniPanels[1]->SetSizeHints(160, 120); // taille minimale de la zone de dessin (format 4/3) droite->Add(miniPanels[1], 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL , 2); } { miniPanels[2] = new Panel3D(this, &engine, Renderer::FacePleine); miniPanels[2]->SetSizeHints(160, 120); // taille minimale de la zone de dessin (format 4/3) droite->Add(miniPanels[2], 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL , 2); } { miniPanels[3] = new Panel3D(this, &engine, Renderer::Lambert); miniPanels[3]->SetSizeHints(160, 120); // taille minimale de la zone de dessin (format 4/3) droite->Add(miniPanels[3], 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL , 2); } { miniPanels[4] = new Panel3D(this, &engine, Renderer::Gouraud); miniPanels[4]->SetSizeHints(160, 120); // taille minimale de la zone de dessin (format 4/3) droite->Add(miniPanels[4], 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL , 2); } { miniPanels[5] = new Panel3D(this, &engine, Renderer::Phong); miniPanels[5]->SetSizeHints(160, 120); // taille minimale de la zone de dessin (format 4/3) droite->Add(miniPanels[5], 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL , 2); } { miniPanels[6] = new Panel3D(this, &engine, Renderer::FacePleineZBuffer); miniPanels[6]->SetSizeHints(160, 120); // taille minimale de la zone de dessin (format 4/3) droite->Add(miniPanels[6], 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL , 2); } { miniPanels[7] = new Panel3D(this, &engine, Renderer::LambertZBuffer); miniPanels[7]->SetSizeHints(160, 120); // taille minimale de la zone de dessin (format 4/3) droite->Add(miniPanels[7], 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL , 2); } { miniPanels[8] = new Panel3D(this, &engine, Renderer::GouraudZBuffer); miniPanels[8]->SetSizeHints(160, 120); // taille minimale de la zone de dessin (format 4/3) droite->Add(miniPanels[8], 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL , 2); } { miniPanels[9] = new Panel3D(this, &engine, Renderer::PhongZBuffer); miniPanels[9]->SetSizeHints(160, 120); // taille minimale de la zone de dessin (format 4/3) droite->Add(miniPanels[9], 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL , 2); } } // positionnement automatique via un flex grid sizer (1 ligne, 2 colonnes) wxFlexGridSizer * sizer = new wxFlexGridSizer(1, 2, 5, 5); sizer->AddGrowableRow(0); sizer->AddGrowableCol(0); SetSizer(sizer); wxBoxSizer * gauche = new wxBoxSizer(wxVERTICAL); { panel = new Panel3D(this, &engine, Renderer::Filaire); panel->SetSizeHints(640, 480); // taille de la zone de dessin (format 4/3) gauche->Add(panel, 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL , 2); } { // attention, cet objet doit être créé après les mini et le panel Piloter * piloter = new Piloter( this, &engine ); gauche->Add(piloter, 0, wxALL | wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL, 2); } sizer->Add(gauche); if (demoMode) sizer->Add(droite); SetAutoLayout(TRUE); // dimensionnement automatique Fit(); // ajuster les dimensions de la fenêtre au contenu FrameCounter::IncFrameCount(); }
//------------------------------------------------------------------------------ // void Create() //------------------------------------------------------------------------------ void WelcomePanel::Create() { #ifdef DEBUG_CREATE MessageInterface::ShowMessage("WelcomePanel::Create() entered\n"); #endif wxStaticLine *line1; wxBitmap bitmap; wxBitmapButton *aboutButton; // Border size bsize = 4; // get the config object wxFileConfig *pConfig; // Load GMAT ICON FileManager *fm = FileManager::Instance(); std::string iconFile = fm->GetFullPathname("ICON_PATH") + "GMATIcon.jpg"; #ifdef DEBUG_CREATE MessageInterface::ShowMessage("WelcomePanel::Create() iconFile='%s'\n", iconFile.c_str()); #endif if (GmatFileUtil::DoesFileExist(iconFile)) { #ifdef DEBUG_CREATE MessageInterface::ShowMessage (" Loading iconFile '%s'\n", iconFile.c_str()); #endif bitmap = LoadBitmap( iconFile.c_str(), 200, 200 ); aboutButton = new wxBitmapButton(this, -1, bitmap, wxDefaultPosition, wxSize(200,200)); } else { #ifdef DEBUG_CREATE MessageInterface::ShowMessage (" the iconFile '%s' doesnot exist, so creating default\n", iconFile.c_str()); #endif wxBitmap nullMap; aboutButton = new wxBitmapButton(this, -1, nullMap, wxDefaultPosition, wxSize(200,200)); } wxColourDatabase cdb; wxColour gmatColor = cdb.Find("NAVY"); // title, build date wxStaticText *gmatText = new wxStaticText(this, -1, "General Mission Analysis Tool"); wxFont font1 = wxFont(); #ifdef __WXMAC__ font1.SetPointSize(20); #else font1.SetPointSize(20); #endif font1.SetWeight(wxFONTWEIGHT_BOLD); gmatText->SetOwnFont(font1); gmatText->SetOwnForegroundColour(gmatColor); // website and contact email wxStaticText *webText = new wxStaticText(this, -1, "Website: "); wxString gmatUrl = "http://gmat.gsfc.nasa.gov"; wxHyperlinkCtrl *webLink = new wxHyperlinkCtrl(this, -1, gmatUrl, gmatUrl); wxFlexGridSizer *contactSizer = new wxFlexGridSizer(2); contactSizer->Add(webText, 0, wxALIGN_RIGHT|wxALL, 2); contactSizer->Add(webLink, 0, wxALIGN_LEFT|wxALL, 2); wxBoxSizer *gmatTextSizer = new wxBoxSizer(wxVERTICAL); gmatTextSizer->Add(gmatText, 0, wxALIGN_LEFT|wxALL, bsize); gmatTextSizer->Add(3, 3); gmatTextSizer->Add(contactSizer, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT, bsize); wxBoxSizer *headerSizer = new wxBoxSizer(wxHORIZONTAL); headerSizer->Add(aboutButton, 0, wxALIGN_LEFT|wxALL, bsize); headerSizer->Add(gmatTextSizer, 0, wxALIGN_LEFT|wxALL, bsize); //----------------------------------------------------------------- // now Links and Resources //----------------------------------------------------------------- wxStaticText *resourcesText = new wxStaticText(this, -1, "Links and Resources"); resourcesText->SetOwnFont(font1); resourcesText->SetOwnForegroundColour(gmatColor); wxBoxSizer *resourcesSizer = new wxBoxSizer(wxVERTICAL); resourcesSizer->Add(resourcesText, 0, wxALIGN_LEFT|wxALL, bsize); resourcesSizer->AddSpacer(bsize*2); // now Links pConfig = (wxFileConfig *) wxConfigBase::Get(); wxString configLocWelcome = "/Welcome/Links"; #ifdef __WXMAC__ configLocWelcome = configLocWelcome + "/Online"; #endif resourcesSizer->Add(FillGroup(pConfig, configLocWelcome, "", 3, ID_HELP, false), 0, wxALIGN_LEFT|wxALL, bsize*2); //----------------------------------------------------------------- // now Sample Projects //----------------------------------------------------------------- resourcesSizer->Add(FillGroup(pConfig, "/Welcome/Samples", "", 3, ID_FILE, false), 0, wxALIGN_LEFT|wxALL, bsize*2); //----------------------------------------------------------------- // now Getting Started //----------------------------------------------------------------- wxStaticText *getStartedText = new wxStaticText(this, -1, "Getting Started"); getStartedText->SetOwnFont(font1); getStartedText->SetOwnForegroundColour(gmatColor); wxBoxSizer *gettingStartedSizer = new wxBoxSizer(wxVERTICAL); gettingStartedSizer->Add(getStartedText, 0, wxALIGN_LEFT|wxALL, bsize); gettingStartedSizer->AddSpacer(bsize*2); wxString configLoc = "/GettingStarted/Tutorials"; #ifdef __WXMAC__ configLoc = configLoc + "/Online"; #endif gettingStartedSizer->Add(FillGroup(pConfig, configLoc, "/GettingStarted/Tutorials/Icons", 1, ID_HELP, false), 0, wxALIGN_LEFT|wxALL, bsize*2); //gettingStartedSizer->AddSpacer(bsize*2); //----------------------------------------------------------------- // now recent scripts //----------------------------------------------------------------- wxStaticText *recentScriptsText = new wxStaticText(this, -1, "Recent Scripts"); recentScriptsText->SetOwnFont(font1); recentScriptsText->SetOwnForegroundColour(gmatColor); wxBoxSizer *recentSizer = new wxBoxSizer(wxVERTICAL); recentSizer->Add(recentScriptsText, 0, wxALIGN_LEFT|wxALL, bsize); recentSizer->AddSpacer(bsize*2); // add the recent scripts pConfig = (wxFileConfig *) GmatAppData::Instance()->GetPersonalizationConfig(); recentSizer->Add(FillGroup(pConfig, "/RecentFiles", "", 1, ID_BUTTON_RECENT, true, true), 0, wxALIGN_LEFT|wxALL, bsize*2); //----------------------------------------------------------------- // Now put it all together //----------------------------------------------------------------- wxBoxSizer *contentSizer = new wxBoxSizer(wxHORIZONTAL); contentSizer->Add(recentSizer, 0, wxALIGN_LEFT|wxALL, bsize*2); line1 = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL); contentSizer->Add(line1, 0, wxGROW|wxALIGN_CENTRE, 20); contentSizer->Add(gettingStartedSizer, 1, wxGROW|wxALIGN_LEFT|wxALL, bsize*2); wxSizer *theMiddleSizer = (wxSizer*)(new wxBoxSizer(wxVERTICAL)); theMiddleSizer->Add(headerSizer, 0, wxALIGN_LEFT|wxGROW|wxALL, bsize*2); line1 = new wxStaticLine(this); theMiddleSizer->Add(line1, 0, wxEXPAND|wxALIGN_CENTRE, bsize*2); theMiddleSizer->Add(contentSizer, 1, wxGROW|wxALIGN_CENTRE|wxALL); line1 = new wxStaticLine(this); theMiddleSizer->Add(line1, 0, wxEXPAND|wxALIGN_CENTRE, bsize*2); theMiddleSizer->Add(resourcesSizer, 0, wxALIGN_LEFT|wxEXPAND|wxALL, bsize*2); line1 = new wxStaticLine(this); theMiddleSizer->Add(line1, 0, wxEXPAND|wxALIGN_CENTRE, bsize*2); wxCheckBox *cbShow = new wxCheckBox( this, ID_CHECKBOX, wxT("&Show Welcome Page On Startup")); wxString showWelcomePanel; pConfig->Read("/Main/ShowWelcomeOnStart", &showWelcomePanel, "true"); cbShow->SetValue( showWelcomePanel.Lower() == "true" ); theMiddleSizer->Add(cbShow, 0, wxALIGN_LEFT|wxALL, bsize*2); wxSizer *thePanelSizer = new wxBoxSizer(wxVERTICAL); thePanelSizer->Add(theMiddleSizer, 0, wxALIGN_LEFT|wxGROW|wxALL, bsize*2); SetSizer(thePanelSizer); thePanelSizer->SetSizeHints(this); // Set GMAT main icon GmatAppData::Instance()->SetIcon(this, "WelcomePanel"); #ifdef DEBUG_CREATE MessageInterface::ShowMessage("WelcomePanel::Create() leaving\n"); #endif }
/* Map3DPrefsPanel::Map3DPrefsPanel * Map3DPrefsPanel class constructor *******************************************************************/ Map3DPrefsPanel::Map3DPrefsPanel(wxWindow* parent) : PrefsPanelBase(parent) { // Create sizer wxBoxSizer* psizer = new wxBoxSizer(wxVERTICAL); SetSizer(psizer); // Create frame+sizer wxStaticBox* frame = new wxStaticBox(this, -1, "Map Editor 3D Mode Preferences"); wxStaticBoxSizer* fsizer = new wxStaticBoxSizer(frame, wxVERTICAL); psizer->Add(fsizer, 1, wxEXPAND|wxALL, 4); wxGridBagSizer* gbsizer = new wxGridBagSizer(8, 8); fsizer->Add(gbsizer, 0, wxEXPAND|wxALL, 4); // Render distance gbsizer->Add(new wxStaticText(this, -1, "Render distance:"), wxGBPosition(0, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); slider_max_render_dist = new wxSlider(this, -1, 1, 1, 20, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS); gbsizer->Add(slider_max_render_dist, wxGBPosition(0, 1), wxDefaultSpan, wxEXPAND); label_render_dist = new wxStaticText(this, -1, "00000"); label_render_dist->SetInitialSize(wxSize(label_render_dist->GetSize().x, -1)); gbsizer->Add(label_render_dist, wxGBPosition(0, 2), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); cb_distance_unlimited = new wxCheckBox(this, -1, "Unlimited"); gbsizer->Add(cb_distance_unlimited, wxGBPosition(0, 3), wxDefaultSpan, wxEXPAND); // Thing Render distance gbsizer->Add(new wxStaticText(this, -1, "Thing render distance:"), wxGBPosition(1, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); slider_max_thing_dist = new wxSlider(this, -1, 1, 1, 20, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS); gbsizer->Add(slider_max_thing_dist, wxGBPosition(1, 1), wxDefaultSpan, wxEXPAND); label_thing_dist = new wxStaticText(this, -1, "00000"); gbsizer->Add(label_thing_dist, wxGBPosition(1, 2), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); cb_max_thing_dist_lock = new wxCheckBox(this, -1, "Lock"); gbsizer->Add(cb_max_thing_dist_lock, wxGBPosition(1, 3), wxDefaultSpan, wxEXPAND); gbsizer->AddGrowableCol(1, 1); wxBoxSizer* hbox = new wxBoxSizer(wxHORIZONTAL); fsizer->Add(hbox, 0, wxEXPAND|wxALL, 4); // Adaptive render distance cb_render_dist_adaptive = new wxCheckBox(this, -1, "Adaptive render distance"); hbox->Add(cb_render_dist_adaptive, 0, wxEXPAND|wxRIGHT, 10); hbox->Add(new wxStaticText(this, -1, "Target framerate:"), 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 4); spin_adaptive_fps = new wxSpinCtrl(this, -1, "30", wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxTE_PROCESS_ENTER, 10, 100, 30); hbox->Add(spin_adaptive_fps, 0, wxEXPAND); fsizer->Add(new wxStaticLine(this, -1, wxDefaultPosition, wxDefaultSize, wxHORIZONTAL), 0, wxEXPAND|wxTOP|wxBOTTOM, 4); // Render sky preview cb_render_sky = new wxCheckBox(this, -1, "Render sky preview"); fsizer->Add(cb_render_sky, 0, wxEXPAND|wxALL, 4); // Show distance cb_show_distance = new wxCheckBox(this, -1, "Show distance under crosshair"); fsizer->Add(cb_show_distance, 0, wxEXPAND|wxALL, 4); // Invert mouse y cb_invert_y = new wxCheckBox(this, -1, "Invert mouse Y axis"); fsizer->Add(cb_invert_y, 0, wxEXPAND|wxALL, 4); // Shade orthogonal lines cb_shade_orthogonal = new wxCheckBox(this, -1, "Shade orthogonal lines"); fsizer->Add(cb_shade_orthogonal, 0, wxEXPAND | wxALL, 4); // Bind events slider_max_render_dist->Bind(wxEVT_SLIDER, &Map3DPrefsPanel::onSliderMaxRenderDistChanged, this); slider_max_thing_dist->Bind(wxEVT_SLIDER, &Map3DPrefsPanel::onSliderMaxThingDistChanged, this); cb_max_thing_dist_lock->Bind(wxEVT_CHECKBOX, &Map3DPrefsPanel::onCBLockThingDistChanged, this); cb_distance_unlimited->Bind(wxEVT_CHECKBOX, &Map3DPrefsPanel::onCBDistUnlimitedChanged, this); }
void InterfaceConfigPane::InitializeGUI() { // GUI language arrayStrings // keep these in sync with the langIds array at the beginning of this file m_interface_lang_strings.Add(_("<System Language>")); m_interface_lang_strings.Add(L"Catal\u00E0"); // Catalan m_interface_lang_strings.Add(L"\u010Ce\u0161tina"); // Czech m_interface_lang_strings.Add(L"Deutsch"); // German m_interface_lang_strings.Add(L"English"); // English m_interface_lang_strings.Add(L"Espa\u00F1ol"); // Spanish m_interface_lang_strings.Add(L"Fran\u00E7ais"); // French m_interface_lang_strings.Add(L"Italiano"); // Italian m_interface_lang_strings.Add(L"Magyar"); // Hungarian m_interface_lang_strings.Add(L"Nederlands"); // Dutch m_interface_lang_strings.Add(L"Norsk bokm\u00E5l"); // Norwegian m_interface_lang_strings.Add(L"Polski"); // Polish m_interface_lang_strings.Add(L"Portugu\u00EAs"); // Portuguese m_interface_lang_strings.Add(L"Portugu\u00EAs (Brasil)"); // Portuguese (Brazil) m_interface_lang_strings.Add(L"Srpski"); // Serbian m_interface_lang_strings.Add(L"Svenska"); // Swedish m_interface_lang_strings.Add(L"T\u00FCrk\u00E7e"); // Turkish m_interface_lang_strings.Add(L"\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC"); // Greek m_interface_lang_strings.Add(L"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"); // Russian m_interface_lang_strings.Add(L"\u05E2\u05D1\u05E8\u05D9\u05EA"); // Hebrew m_interface_lang_strings.Add(L"\u0627\u0644\u0639\u0631\u0628\u064A\u0629"); // Arabic m_interface_lang_strings.Add(L"\u0641\u0627\u0631\u0633\u06CC"); // Farsi m_interface_lang_strings.Add(L"\uD55C\uAD6D\uC5B4"); // Korean m_interface_lang_strings.Add(L"\u65E5\u672C\u8A9E"); // Japanese m_interface_lang_strings.Add(L"\u7B80\u4F53\u4E2D\u6587"); // Simplified Chinese m_interface_lang_strings.Add(L"\u7E41\u9AD4\u4E2D\u6587"); // Traditional Chinese m_confirm_stop_checkbox = new wxCheckBox(this, wxID_ANY, _("Confirm on Stop")); m_panic_handlers_checkbox = new wxCheckBox(this, wxID_ANY, _("Use Panic Handlers")); m_osd_messages_checkbox = new wxCheckBox(this, wxID_ANY, _("On-Screen Display Messages")); m_pause_focus_lost_checkbox = new wxCheckBox(this, wxID_ANY, _("Pause on Focus Lost")); m_interface_lang_choice = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_interface_lang_strings); m_theme_choice = new wxChoice(this, wxID_ANY); m_confirm_stop_checkbox->Bind(wxEVT_CHECKBOX, &InterfaceConfigPane::OnConfirmStopCheckBoxChanged, this); m_panic_handlers_checkbox->Bind(wxEVT_CHECKBOX, &InterfaceConfigPane::OnPanicHandlersCheckBoxChanged, this); m_osd_messages_checkbox->Bind(wxEVT_CHECKBOX, &InterfaceConfigPane::OnOSDMessagesCheckBoxChanged, this); m_pause_focus_lost_checkbox->Bind(wxEVT_CHECKBOX, &InterfaceConfigPane::OnPauseOnFocusLostCheckBoxChanged, this); m_interface_lang_choice->Bind(wxEVT_CHOICE, &InterfaceConfigPane::OnInterfaceLanguageChoiceChanged, this); m_theme_choice->Bind(wxEVT_CHOICE, &InterfaceConfigPane::OnThemeSelected, this); m_confirm_stop_checkbox->SetToolTip(_("Show a confirmation box before stopping a game.")); m_panic_handlers_checkbox->SetToolTip(_("Show a message box when a potentially serious error has occurred.\nDisabling this may avoid annoying and non-fatal messages, but it may result in major crashes having no explanation at all.")); m_osd_messages_checkbox->SetToolTip(_("Display messages over the emulation screen area.\nThese messages include memory card writes, video backend and CPU information, and JIT cache clearing.")); m_pause_focus_lost_checkbox->SetToolTip(_("Pauses the emulator when focus is taken away from the emulation window.")); m_interface_lang_choice->SetToolTip(_("Change the language of the user interface.\nRequires restart.")); wxBoxSizer* const language_sizer = new wxBoxSizer(wxHORIZONTAL); language_sizer->Add(new wxStaticText(this, wxID_ANY, _("Language:")), 0, wxALIGN_CENTER_VERTICAL | wxALL, 5); language_sizer->Add(m_interface_lang_choice, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5); wxBoxSizer* const theme_sizer = new wxBoxSizer(wxHORIZONTAL); theme_sizer->Add(new wxStaticText(this, wxID_ANY, _("Theme:")), 0, wxALIGN_CENTER_VERTICAL | wxALL, 5); theme_sizer->Add(m_theme_choice, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5); theme_sizer->AddStretchSpacer(); wxStaticBoxSizer* const main_static_box_sizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Interface Settings")); main_static_box_sizer->Add(m_confirm_stop_checkbox, 0, wxALL, 5); main_static_box_sizer->Add(m_panic_handlers_checkbox, 0, wxALL, 5); main_static_box_sizer->Add(m_osd_messages_checkbox, 0, wxALL, 5); main_static_box_sizer->Add(m_pause_focus_lost_checkbox, 0, wxALL, 5); main_static_box_sizer->Add(theme_sizer, 0, wxEXPAND | wxALL, 5); main_static_box_sizer->Add(language_sizer, 0, wxEXPAND | wxALL, 5); wxBoxSizer* const main_box_sizer = new wxBoxSizer(wxVERTICAL); main_box_sizer->Add(main_static_box_sizer, 0, wxEXPAND | wxALL, 5); SetSizer(main_box_sizer); }
ButterflyPanel::ButterflyPanel(wxWindow* parent) { //(*Initialize(ButterflyPanel) wxChoice* Choice_Butterfly_Colors; wxStaticText* StaticText175; wxBitmapButton* BitmapButton_ButterflyStyle; wxTextCtrl* TextCtrl16; wxStaticText* StaticText26; wxSlider* Slider_Butterfly_Chunks; wxStaticText* StaticText58; wxStaticText* StaticText27; wxBitmapButton* BitmapButton8; wxBitmapButton* BitmapButton1; wxBitmapButton* BitmapButton_ButterflySkip; wxTextCtrl* TextCtrl18; wxTextCtrl* TextCtrl17; wxBitmapButton* BitmapButton_ButterflyColors; wxStaticText* StaticText28; wxSlider* Slider8; wxTextCtrl* TextCtrl25; wxChoice* Choice_Butterfly_Direction; wxFlexGridSizer* FlexGridSizer36; wxSlider* Slider_Butterfly_Style; wxStaticText* StaticText25; wxBitmapButton* BitmapButton_ButterflyChunks; wxSlider* Slider_Butterfly_Skip; Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("wxID_ANY")); FlexGridSizer36 = new wxFlexGridSizer(0, 4, 0, 0); FlexGridSizer36->AddGrowableCol(1); StaticText25 = new wxStaticText(this, wxID_ANY, _("Colors"), wxDefaultPosition, wxDefaultSize, 0, _T("wxID_ANY")); FlexGridSizer36->Add(StaticText25, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 2); Choice_Butterfly_Colors = new wxChoice(this, ID_CHOICE_Butterfly_Colors, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_CHOICE_Butterfly_Colors")); Choice_Butterfly_Colors->SetSelection( Choice_Butterfly_Colors->Append(_("Rainbow")) ); Choice_Butterfly_Colors->Append(_("Palette")); FlexGridSizer36->Add(Choice_Butterfly_Colors, 1, wxTOP|wxBOTTOM|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer36->Add(-1,-1,1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BitmapButton_ButterflyColors = new wxBitmapButton(this, ID_BITMAPBUTTON_CHOICE_Butterfly_Color, padlock16x16_blue_xpm, wxDefaultPosition, wxSize(13,13), wxBU_AUTODRAW|wxNO_BORDER, wxDefaultValidator, _T("ID_BITMAPBUTTON_CHOICE_Butterfly_Color")); BitmapButton_ButterflyColors->SetDefault(); BitmapButton_ButterflyColors->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION)); FlexGridSizer36->Add(BitmapButton_ButterflyColors, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 1); StaticText26 = new wxStaticText(this, wxID_ANY, _("Style"), wxDefaultPosition, wxDefaultSize, 0, _T("wxID_ANY")); FlexGridSizer36->Add(StaticText26, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 2); Slider_Butterfly_Style = new wxSlider(this, ID_SLIDER_Butterfly_Style, 1, 1, 10, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_SLIDER_Butterfly_Style")); FlexGridSizer36->Add(Slider_Butterfly_Style, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 2); TextCtrl16 = new wxTextCtrl(this, IDD_TEXTCTRL_Butterfly_Style, _("1"), wxDefaultPosition, wxDLG_UNIT(this,wxSize(20,-1)), 0, wxDefaultValidator, _T("IDD_TEXTCTRL_Butterfly_Style")); TextCtrl16->SetMaxLength(1); FlexGridSizer36->Add(TextCtrl16, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BitmapButton_ButterflyStyle = new wxBitmapButton(this, ID_BITMAPBUTTON_SLIDER_Butterfly_Style, padlock16x16_blue_xpm, wxDefaultPosition, wxSize(13,13), wxBU_AUTODRAW|wxNO_BORDER, wxDefaultValidator, _T("ID_BITMAPBUTTON_SLIDER_Butterfly_Style")); BitmapButton_ButterflyStyle->SetDefault(); BitmapButton_ButterflyStyle->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION)); FlexGridSizer36->Add(BitmapButton_ButterflyStyle, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 1); StaticText27 = new wxStaticText(this, wxID_ANY, _("Bkgrd Chunks"), wxDefaultPosition, wxDefaultSize, 0, _T("wxID_ANY")); FlexGridSizer36->Add(StaticText27, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 2); Slider_Butterfly_Chunks = new wxSlider(this, ID_SLIDER_Butterfly_Chunks, 1, 1, 10, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_SLIDER_Butterfly_Chunks")); FlexGridSizer36->Add(Slider_Butterfly_Chunks, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 2); TextCtrl17 = new wxTextCtrl(this, IDD_TEXTCTRL_Butterfly_Chunks, _("1"), wxDefaultPosition, wxDLG_UNIT(this,wxSize(20,-1)), 0, wxDefaultValidator, _T("IDD_TEXTCTRL_Butterfly_Chunks")); TextCtrl17->SetMaxLength(2); FlexGridSizer36->Add(TextCtrl17, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BitmapButton_ButterflyChunks = new wxBitmapButton(this, ID_BITMAPBUTTON_SLIDER_Butterfly_Chunks, padlock16x16_blue_xpm, wxDefaultPosition, wxSize(13,13), wxBU_AUTODRAW|wxNO_BORDER, wxDefaultValidator, _T("ID_BITMAPBUTTON_SLIDER_Butterfly_Chunks")); BitmapButton_ButterflyChunks->SetDefault(); BitmapButton_ButterflyChunks->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION)); FlexGridSizer36->Add(BitmapButton_ButterflyChunks, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 1); StaticText28 = new wxStaticText(this, wxID_ANY, _("Bkgrd Skip"), wxDefaultPosition, wxDefaultSize, 0, _T("wxID_ANY")); FlexGridSizer36->Add(StaticText28, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 2); Slider_Butterfly_Skip = new wxSlider(this, ID_SLIDER_Butterfly_Skip, 2, 2, 10, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_SLIDER_Butterfly_Skip")); FlexGridSizer36->Add(Slider_Butterfly_Skip, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 2); TextCtrl18 = new wxTextCtrl(this, IDD_TEXTCTRL_Butterfly_Skip, _("2"), wxDefaultPosition, wxDLG_UNIT(this,wxSize(20,-1)), 0, wxDefaultValidator, _T("IDD_TEXTCTRL_Butterfly_Skip")); TextCtrl18->SetMaxLength(2); FlexGridSizer36->Add(TextCtrl18, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BitmapButton1 = new wxBitmapButton(this, ID_BITMAPBUTTON15, padlock16x16_blue_xpm, wxDefaultPosition, wxSize(13,13), wxBU_AUTODRAW|wxNO_BORDER, wxDefaultValidator, _T("ID_BITMAPBUTTON15")); BitmapButton1->SetDefault(); BitmapButton1->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION)); FlexGridSizer36->Add(BitmapButton1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticText175 = new wxStaticText(this, wxID_ANY, _("Speed"), wxDefaultPosition, wxDefaultSize, 0, _T("wxID_ANY")); FlexGridSizer36->Add(StaticText175, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); Slider8 = new wxSlider(this, ID_SLIDER_Butterfly_Speed, 10, 0, 100, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_SLIDER_Butterfly_Speed")); FlexGridSizer36->Add(Slider8, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 2); TextCtrl25 = new wxTextCtrl(this, IDD_TEXTCTRL_Butterfly_Speed, _("10"), wxDefaultPosition, wxDLG_UNIT(this,wxSize(20,-1)), 0, wxDefaultValidator, _T("IDD_TEXTCTRL_Butterfly_Speed")); TextCtrl25->SetMaxLength(3); FlexGridSizer36->Add(TextCtrl25, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 2); BitmapButton_ButterflySkip = new wxBitmapButton(this, ID_BITMAPBUTTON_SLIDER_Butterfly_Skip, padlock16x16_blue_xpm, wxDefaultPosition, wxSize(13,13), wxBU_AUTODRAW|wxNO_BORDER, wxDefaultValidator, _T("ID_BITMAPBUTTON_SLIDER_Butterfly_Skip")); BitmapButton_ButterflySkip->SetDefault(); BitmapButton_ButterflySkip->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION)); FlexGridSizer36->Add(BitmapButton_ButterflySkip, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 1); StaticText58 = new wxStaticText(this, wxID_ANY, _("Direction"), wxDefaultPosition, wxDefaultSize, 0, _T("wxID_ANY")); FlexGridSizer36->Add(StaticText58, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); Choice_Butterfly_Direction = new wxChoice(this, ID_CHOICE_Butterfly_Direction, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_CHOICE_Butterfly_Direction")); Choice_Butterfly_Direction->SetSelection( Choice_Butterfly_Direction->Append(_("Normal")) ); Choice_Butterfly_Direction->Append(_("Reverse")); FlexGridSizer36->Add(Choice_Butterfly_Direction, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer36->Add(-1,-1,1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BitmapButton8 = new wxBitmapButton(this, ID_BITMAPBUTTON9, padlock16x16_blue_xpm, wxDefaultPosition, wxSize(13,13), wxBU_AUTODRAW, wxDefaultValidator, _T("ID_BITMAPBUTTON9")); BitmapButton8->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION)); FlexGridSizer36->Add(BitmapButton8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); SetSizer(FlexGridSizer36); FlexGridSizer36->Fit(this); FlexGridSizer36->SetSizeHints(this); Connect(ID_BITMAPBUTTON_CHOICE_Butterfly_Color,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ButterflyPanel::OnLockButtonClick); Connect(ID_SLIDER_Butterfly_Style,wxEVT_COMMAND_SLIDER_UPDATED,(wxObjectEventFunction)&ButterflyPanel::UpdateLinkedTextCtrl); Connect(IDD_TEXTCTRL_Butterfly_Style,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&ButterflyPanel::UpdateLinkedSlider); Connect(ID_BITMAPBUTTON_SLIDER_Butterfly_Style,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ButterflyPanel::OnLockButtonClick); Connect(ID_SLIDER_Butterfly_Chunks,wxEVT_COMMAND_SLIDER_UPDATED,(wxObjectEventFunction)&ButterflyPanel::UpdateLinkedTextCtrl); Connect(IDD_TEXTCTRL_Butterfly_Chunks,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&ButterflyPanel::UpdateLinkedSlider); Connect(ID_BITMAPBUTTON_SLIDER_Butterfly_Chunks,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ButterflyPanel::OnLockButtonClick); Connect(ID_SLIDER_Butterfly_Skip,wxEVT_COMMAND_SLIDER_UPDATED,(wxObjectEventFunction)&ButterflyPanel::UpdateLinkedTextCtrl); Connect(IDD_TEXTCTRL_Butterfly_Skip,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&ButterflyPanel::UpdateLinkedSlider); Connect(ID_BITMAPBUTTON15,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ButterflyPanel::OnLockButtonClick); Connect(ID_SLIDER_Butterfly_Speed,wxEVT_COMMAND_SLIDER_UPDATED,(wxObjectEventFunction)&ButterflyPanel::UpdateLinkedTextCtrl); Connect(IDD_TEXTCTRL_Butterfly_Speed,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&ButterflyPanel::UpdateLinkedSlider); Connect(ID_BITMAPBUTTON_SLIDER_Butterfly_Skip,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ButterflyPanel::OnLockButtonClick); //*) SetName("ID_PANEL_BUTTERFLY"); }
void WiiConfigPane::InitializeGUI() { m_aspect_ratio_strings.Add("4:3"); m_aspect_ratio_strings.Add("16:9"); m_system_language_strings.Add(_("Japanese")); m_system_language_strings.Add(_("English")); m_system_language_strings.Add(_("German")); m_system_language_strings.Add(_("French")); m_system_language_strings.Add(_("Spanish")); m_system_language_strings.Add(_("Italian")); m_system_language_strings.Add(_("Dutch")); m_system_language_strings.Add(_("Simplified Chinese")); m_system_language_strings.Add(_("Traditional Chinese")); m_system_language_strings.Add(_("Korean")); m_screensaver_checkbox = new wxCheckBox(this, wxID_ANY, _("Enable Screen Saver")); m_wiispeak_checkbox = new wxCheckBox(this, wxID_ANY, _("Enable Wii Speak Dummy Support")); m_pal60_mode_checkbox = new wxCheckBox(this, wxID_ANY, _("Use PAL60 Mode (EuRGB60)")); m_aspect_ratio_choice = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_aspect_ratio_strings); m_system_language_choice = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_system_language_strings); m_sd_card_checkbox = new wxCheckBox(this, wxID_ANY, _("Insert SD Card")); m_connect_keyboard_checkbox = new wxCheckBox(this, wxID_ANY, _("Connect USB Keyboard")); m_screensaver_checkbox->Bind(wxEVT_CHECKBOX, &WiiConfigPane::OnScreenSaverCheckBoxChanged, this); m_wiispeak_checkbox->Bind(wxEVT_CHECKBOX, &WiiConfigPane::OnWiiSpeakCheckBoxChanged, this); m_pal60_mode_checkbox->Bind(wxEVT_CHECKBOX, &WiiConfigPane::OnPAL60CheckBoxChanged, this); m_aspect_ratio_choice->Bind(wxEVT_CHOICE, &WiiConfigPane::OnAspectRatioChoiceChanged, this); m_system_language_choice->Bind(wxEVT_CHOICE, &WiiConfigPane::OnSystemLanguageChoiceChanged, this); m_sd_card_checkbox->Bind(wxEVT_CHECKBOX, &WiiConfigPane::OnSDCardCheckBoxChanged, this); m_connect_keyboard_checkbox->Bind(wxEVT_CHECKBOX, &WiiConfigPane::OnConnectKeyboardCheckBoxChanged, this); m_screensaver_checkbox->SetToolTip(_("Dims the screen after five minutes of inactivity.")); m_wiispeak_checkbox->SetToolTip(_("Adds Dummy Support for WiiSpeak to allow games that requires it to boot properly.")); m_pal60_mode_checkbox->SetToolTip(_("Sets the Wii display mode to 60Hz (480i) instead of 50Hz (576i) for PAL games.\nMay not work for all games.")); m_system_language_choice->SetToolTip(_("Sets the Wii system language.")); m_sd_card_checkbox->SetToolTip(_("Saved to /Wii/sd.raw (default size is 128mb)")); m_connect_keyboard_checkbox->SetToolTip(_("May cause slow down in Wii Menu and some games.")); wxGridBagSizer* const misc_settings_grid_sizer = new wxGridBagSizer(); misc_settings_grid_sizer->Add(m_screensaver_checkbox, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALL, 5); misc_settings_grid_sizer->Add(m_pal60_mode_checkbox, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALL, 5); misc_settings_grid_sizer->Add(new wxStaticText(this, wxID_ANY, _("Aspect Ratio:")), wxGBPosition(2, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxALL, 5); misc_settings_grid_sizer->Add(m_aspect_ratio_choice, wxGBPosition(2, 1), wxDefaultSpan, wxALL, 5); misc_settings_grid_sizer->Add(new wxStaticText(this, wxID_ANY, _("System Language:")), wxGBPosition(3, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxALL, 5); misc_settings_grid_sizer->Add(m_system_language_choice, wxGBPosition(3, 1), wxDefaultSpan, wxALL, 5); wxStaticBoxSizer* const misc_settings_static_sizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Misc Settings")); misc_settings_static_sizer->Add(misc_settings_grid_sizer); wxStaticBoxSizer* const device_settings_sizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Device Settings")); device_settings_sizer->Add(m_sd_card_checkbox, 0, wxALL, 5); device_settings_sizer->Add(m_connect_keyboard_checkbox, 0, wxALL, 5); device_settings_sizer->Add(m_wiispeak_checkbox, 0, wxALL, 5); wxBoxSizer* const main_sizer = new wxBoxSizer(wxVERTICAL); main_sizer->Add(misc_settings_static_sizer, 0, wxEXPAND | wxALL, 5); main_sizer->Add(device_settings_sizer, 0, wxEXPAND | wxALL, 5); SetSizer(main_sizer); }
bool wxGenericFileDialog::Create( wxWindow *parent, const wxString& message, const wxString& defaultDir, const wxString& defaultFile, const wxString& wildCard, long style, const wxPoint& pos, const wxSize& sz, const wxString& name, bool bypassGenericImpl ) { m_bypassGenericImpl = bypassGenericImpl; parent = GetParentForModalDialog(parent, style); if (!wxFileDialogBase::Create(parent, message, defaultDir, defaultFile, wildCard, style, pos, sz, name)) { return false; } if (m_bypassGenericImpl) return true; if (!wxDialog::Create( parent, wxID_ANY, message, pos, sz, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | style, name )) { return false; } #if wxUSE_CONFIG if (wxConfig::Get(false)) { wxConfig::Get()->Read(wxT("/wxWindows/wxFileDialog/ViewStyle"), &ms_lastViewStyle); wxConfig::Get()->Read(wxT("/wxWindows/wxFileDialog/ShowHidden"), &ms_lastShowHidden); } #endif if ((m_dir.empty()) || (m_dir == wxT("."))) { m_dir = wxGetCwd(); if (m_dir.empty()) m_dir = wxFILE_SEP_PATH; } const size_t len = m_dir.length(); if ((len > 1) && (wxEndsWithPathSeparator(m_dir))) m_dir.Remove( len-1, 1 ); m_filterExtension = wxEmptyString; // layout const bool is_pda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA); wxBoxSizer *mainsizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer *buttonsizer = new wxBoxSizer( wxHORIZONTAL ); AddBitmapButton( ID_LIST_MODE, wxART_LIST_VIEW, _("View files as a list view"), buttonsizer ); AddBitmapButton( ID_REPORT_MODE, wxART_REPORT_VIEW, _("View files as a detailed view"), buttonsizer ); buttonsizer->Add( 30, 5, 1 ); m_upDirButton = AddBitmapButton( ID_UP_DIR, wxART_GO_DIR_UP, _("Go to parent directory"), buttonsizer ); #ifndef __DOS__ // VS: Home directory is meaningless in MS-DOS... AddBitmapButton( ID_HOME_DIR, wxART_GO_HOME, _("Go to home directory"), buttonsizer ); buttonsizer->Add( 20, 20 ); #endif //!__DOS__ m_newDirButton = AddBitmapButton( ID_NEW_DIR, wxART_NEW_DIR, _("Create new directory"), buttonsizer ); if (is_pda) mainsizer->Add( buttonsizer, wxSizerFlags().Expand() ); else mainsizer->Add( buttonsizer, wxSizerFlags().Expand() .Border( wxLEFT | wxRIGHT | wxTOP ) ); long style2 = 0; if ( HasFdFlag(wxFD_MULTIPLE) ) style2 |= wxFC_MULTIPLE; m_filectrl = new wxGenericFileCtrl( this, ID_FILE_CTRL, m_dir, defaultFile, wildCard, style2, wxDefaultPosition, wxSize(540,200) ); m_filectrl->ShowHidden( ms_lastShowHidden ); if (ms_lastViewStyle == wxLC_LIST) { m_filectrl->ChangeToListMode(); } else if (ms_lastViewStyle == wxLC_REPORT) { m_filectrl->ChangeToReportMode(); } mainsizer->Add(m_filectrl, wxSizerFlags(1).Expand().HorzBorder()); wxSizer *bsizer = CreateButtonSizer(wxOK | wxCANCEL); if ( bsizer ) { if (is_pda) mainsizer->Add(bsizer, wxSizerFlags().Expand().Border()); else mainsizer->Add(bsizer, wxSizerFlags().Expand().DoubleBorder()); } SetSizer( mainsizer ); if (!is_pda) { mainsizer->SetSizeHints( this ); Centre( wxBOTH ); } return true; }
CBOINCBaseView::CBOINCBaseView(wxNotebook* pNotebook, wxWindowID iTaskWindowID, int iTaskWindowFlags, wxWindowID iListWindowID, int iListWindowFlags) : wxPanel(pNotebook, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL) { m_bProcessingTaskRenderEvent = false; m_bProcessingListRenderEvent = false; m_bForceUpdateSelection = true; m_bIgnoreUIEvents = false; // // Setup View // m_pTaskPane = NULL; m_pListPane = NULL; SetName(GetViewName()); SetAutoLayout(TRUE); wxFlexGridSizer* itemFlexGridSizer = new wxFlexGridSizer(2, 0, 0); wxASSERT(itemFlexGridSizer); itemFlexGridSizer->AddGrowableRow(0); itemFlexGridSizer->AddGrowableCol(1); m_pTaskPane = new CBOINCTaskCtrl(this, iTaskWindowID, iTaskWindowFlags); wxASSERT(m_pTaskPane); m_pListPane = new CBOINCListCtrl(this, iListWindowID, iListWindowFlags); wxASSERT(m_pListPane); itemFlexGridSizer->Add(m_pTaskPane, 1, wxGROW|wxALL, 1); itemFlexGridSizer->Add(m_pListPane, 1, wxGROW|wxALL, 1); SetSizer(itemFlexGridSizer); UpdateSelection(); #if USE_NATIVE_LISTCONTROL m_pListPane->PushEventHandler(new MyEvtHandler(m_pListPane)); #else (m_pListPane->GetMainWin())->PushEventHandler(new MyEvtHandler(m_pListPane)); #endif m_iProgressColumn = -1; m_iSortColumn = -1; m_bReverseSort = false; m_SortArrows = new wxImageList(16, 16, true); m_SortArrows->Add( wxIcon( sortascending_xpm ) ); m_SortArrows->Add( wxIcon( sortdescending_xpm ) ); m_pListPane->SetImageList(m_SortArrows, wxIMAGE_LIST_SMALL); #if BASEVIEW_STRIPES m_pWhiteBackgroundAttr = new wxListItemAttr( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT), wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW), wxNullFont ); m_pGrayBackgroundAttr = new wxListItemAttr( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT), wxColour(240, 240, 240), wxNullFont ); #endif }
wxsSimpleFontEditorDlg::wxsSimpleFontEditorDlg(wxWindow* parent,wxsFontData& Data,wxWindowID id): m_Data(Data) { //(*Initialize(wxsSimpleFontEditorDlg) wxBoxSizer* BoxSizer4; wxStaticBoxSizer* StaticBoxSizer2; wxBoxSizer* BoxSizer1; wxFlexGridSizer* FlexGridSizer1; wxBoxSizer* BoxSizer3; wxStdDialogButtonSizer* StdDialogButtonSizer1; Create(parent, id, _("Font settings"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("id")); FlexGridSizer1 = new wxFlexGridSizer(0, 1, 0, 0); BoxSizer4 = new wxBoxSizer(wxHORIZONTAL); StaticBoxSizer1 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Current font")); FlexGridSizer2 = new wxFlexGridSizer(0, 0, 0, 0); FlexGridSizer2->AddGrowableCol(0); FlexGridSizer2->AddGrowableRow(0); FontDescription = new wxStaticText(this, ID_STATICTEXT1, _("-- None --"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); FlexGridSizer2->Add(FontDescription, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticBoxSizer1->Add(FlexGridSizer2, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticLine2 = new wxStaticLine(this, ID_STATICLINE2, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL, _T("ID_STATICLINE2")); StaticBoxSizer1->Add(StaticLine2, 0, wxLEFT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer2 = new wxBoxSizer(wxVERTICAL); Button1 = new wxButton(this, ID_BUTTON1, _("Change"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1")); BoxSizer2->Add(Button1, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); Button3 = new wxButton(this, ID_BUTTON3, _("Clear"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON3")); BoxSizer2->Add(Button3, 1, wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticLine1 = new wxStaticLine(this, ID_STATICLINE1, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE1")); BoxSizer2->Add(StaticLine1, 0, wxTOP|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); Button2 = new wxButton(this, ID_BUTTON2, _("Advanced"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2")); BoxSizer2->Add(Button2, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticBoxSizer1->Add(BoxSizer2, 0, wxLEFT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer4->Add(StaticBoxSizer1, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer4, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 4); StaticBoxSizer2 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Test area")); TestArea = new wxTextCtrl(this, ID_TEXTCTRL1, _("This is sample text"), wxDefaultPosition, wxSize(275,71), wxTE_MULTILINE, wxDefaultValidator, _T("ID_TEXTCTRL1")); StaticBoxSizer2->Add(TestArea, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 4); FlexGridSizer1->Add(StaticBoxSizer2, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer3 = new wxBoxSizer(wxHORIZONTAL); StaticText2 = new wxStaticText(this, ID_STATICTEXT2, _("Note:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE, _T("ID_STATICTEXT2")); BoxSizer3->Add(StaticText2, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticText3 = new wxStaticText(this, ID_STATICTEXT3, _("In order to provide best cross-platform compatibility\nyou should use either system-based font or multiple \nface names. You can change it in advanced options."), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3")); BoxSizer3->Add(StaticText3, 1, wxLEFT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer3, 1, wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer1 = new wxBoxSizer(wxHORIZONTAL); StdDialogButtonSizer1 = new wxStdDialogButtonSizer(); StdDialogButtonSizer1->AddButton(new wxButton(this, wxID_OK, wxEmptyString)); StdDialogButtonSizer1->AddButton(new wxButton(this, wxID_CANCEL, wxEmptyString)); StdDialogButtonSizer1->Realize(); BoxSizer1->Add(StdDialogButtonSizer1, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer1, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); SetSizer(FlexGridSizer1); FlexGridSizer1->Fit(this); FlexGridSizer1->SetSizeHints(this); Center(); Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxsSimpleFontEditorDlg::OnButton1Click); Connect(ID_BUTTON3,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxsSimpleFontEditorDlg::OnButton3Click); Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxsSimpleFontEditorDlg::OnButton2Click); //*) m_WorkingCopy = m_Data; UpdateFontDescription(); }
void WIDGET_EESCHEMA_COLOR_CONFIG::CreateControls() { wxStaticText* label; int buttonId = 1800; m_mainBoxSizer = new wxBoxSizer( wxHORIZONTAL ); SetSizer( m_mainBoxSizer ); BUTTONINDEX* groups = buttonGroups; wxBoxSizer* columnBoxSizer = NULL; while( groups->m_Buttons != NULL ) { COLORBUTTON* buttons = groups->m_Buttons; columnBoxSizer = new wxBoxSizer( wxVERTICAL ); m_mainBoxSizer->Add( columnBoxSizer, 1, wxALIGN_TOP | wxLEFT | wxTOP, 5 ); wxBoxSizer* rowBoxSizer = new wxBoxSizer( wxHORIZONTAL ); columnBoxSizer->Add( rowBoxSizer, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 ); // Add a text string to identify the column of color select buttons. label = new wxStaticText( this, wxID_ANY, groups->m_Name ); // Make the column label font bold. wxFont font( label->GetFont() ); font.SetWeight( wxFONTWEIGHT_BOLD ); label->SetFont( font ); rowBoxSizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 ); while( buttons->m_Layer >= 0 ) { rowBoxSizer = new wxBoxSizer( wxHORIZONTAL ); columnBoxSizer->Add( rowBoxSizer, 0, wxGROW | wxALL, 0 ); wxMemoryDC iconDC; wxBitmap bitmap( BUTT_SIZE_X, BUTT_SIZE_Y ); iconDC.SelectObject( bitmap ); EDA_COLOR_T color = GetLayerColor( LAYERSCH_ID( buttons->m_Layer ) ); currentColors[ buttons->m_Layer ] = color; iconDC.SetPen( *wxBLACK_PEN ); wxBrush brush; ColorSetBrush( &brush, color ); brush.SetStyle( wxBRUSHSTYLE_SOLID ); iconDC.SetBrush( brush ); iconDC.DrawRectangle( 0, 0, BUTT_SIZE_X, BUTT_SIZE_Y ); wxBitmapButton* bitmapButton = new wxBitmapButton( this, buttonId, bitmap, wxDefaultPosition, wxSize( BUTT_SIZE_X+8, BUTT_SIZE_Y+6 ) ); bitmapButton->SetClientData( (void*) buttons ); rowBoxSizer->Add( bitmapButton, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT | wxBOTTOM, 5 ); label = new wxStaticText( this, wxID_ANY, wxGetTranslation( buttons->m_Name ) ); rowBoxSizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxRIGHT | wxBOTTOM, 5 ); buttonId += 1; buttons++; } groups++; } Connect( 1800, buttonId - 1, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WIDGET_EESCHEMA_COLOR_CONFIG::SetColor ) ); wxArrayString selBgColorStrings; selBgColorStrings.Add( _( "White" ) ); selBgColorStrings.Add( _( "Black" ) ); m_SelBgColor = new wxRadioBox( this, wxID_ANY, _( "Background Color" ), wxDefaultPosition, wxDefaultSize, selBgColorStrings, 1, wxRA_SPECIFY_COLS ); m_SelBgColor->SetSelection( ( GetDrawFrame()->GetDrawBgColor() == BLACK ) ? 1 : 0 ); if( columnBoxSizer ) { // Add a spacer to improve appearance. columnBoxSizer->AddSpacer( 5 ); columnBoxSizer->Add( m_SelBgColor, 1, wxGROW | wxRIGHT | wxTOP | wxBOTTOM, 5 ); } currentColors[ LAYER_BACKGROUND ] = GetDrawFrame()->GetDrawBgColor(); // Dialog now needs to be resized, but the associated command is found elsewhere. }
MainDlg::MainDlg(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size) { //(*Initialize(MainDlg) wxBoxSizer* BoxSizer4; wxBoxSizer* BoxSizer6; wxBoxSizer* BoxSizer5; wxBoxSizer* BoxSizer2; wxBoxSizer* BoxSizer1; wxStaticBoxSizer* StaticBoxSizer1; wxBoxSizer* BoxSizer3; Create(parent, id, _("Desktop Assistant"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxMAXIMIZE_BOX|wxMINIMIZE_BOX, _T("id")); SetClientSize(wxDefaultSize); Move(wxDefaultPosition); BoxSizer1 = new wxBoxSizer(wxVERTICAL); BoxSizer5 = new wxBoxSizer(wxHORIZONTAL); StaticBitmap1 = new wxStaticBitmap(this, ID_STATICBITMAP1, wxBitmap(wxImage(_T("img\\DesktopAssistant.ico"))), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICBITMAP1")); BoxSizer5->Add(StaticBitmap1, 0, wxTOP|wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Desktop Assistant is a tool for Desktop file categorization.\nThis tool can categorize files to folders by using the rule defined beforehand. \nThe folders that stores the files is automatically created."), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); BoxSizer5->Add(StaticText1, 1, wxTOP|wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer1->Add(BoxSizer5, 0, wxTOP|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticBoxSizer1 = new wxStaticBoxSizer(wxVERTICAL, this, _("Select customize categorization rules")); BoxSizer3 = new wxBoxSizer(wxHORIZONTAL); m_btnNew = new wxButton(this, ID_BUTTON1, _("&New..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1")); BoxSizer3->Add(m_btnNew, 0, wxTOP|wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_btnEdit = new wxButton(this, ID_BUTTON2, _("&Edit..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2")); m_btnEdit->Disable(); BoxSizer3->Add(m_btnEdit, 0, wxTOP|wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_btnDelete = new wxButton(this, ID_BUTTON6, _("&Delete"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON6")); m_btnDelete->Disable(); BoxSizer3->Add(m_btnDelete, 0, wxTOP|wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_btnUp = new wxButton(this, ID_BUTTON8, _("&Up"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON8")); m_btnUp->Disable(); BoxSizer3->Add(m_btnUp, 1, wxTOP|wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_btnDown = new wxButton(this, ID_BUTTON9, _("Dow&n"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON9")); m_btnDown->Disable(); BoxSizer3->Add(m_btnDown, 1, wxTOP|wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer3->Add(-1,-1,1, wxTOP|wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer3->Add(-1,-1,1, wxTOP|wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticBoxSizer1->Add(BoxSizer3, 0, wxBOTTOM|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 2); m_pLbxCustRules = new wxCheckListBox(this, ID_CHECKLISTBOX1, wxDefaultPosition, wxSize(-1,80), 0, 0, wxLB_SINGLE|wxLB_NEEDED_SB, wxDefaultValidator, _T("ID_CHECKLISTBOX1")); StaticBoxSizer1->Add(m_pLbxCustRules, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer1->Add(StaticBoxSizer1, 0, wxTOP|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); wxString __wxRadioBoxChoices_1[2] = { _("By file modified time"), _("None(Do nothing)") }; m_pRbxBaseRules = new wxRadioBox(this, ID_RADIOBOX1, _("Select base categorization rules"), wxDefaultPosition, wxDefaultSize, 2, __wxRadioBoxChoices_1, 1, wxRA_VERTICAL, wxDefaultValidator, _T("ID_RADIOBOX1")); BoxSizer1->Add(m_pRbxBaseRules, 0, wxTOP|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer2 = new wxBoxSizer(wxHORIZONTAL); m_btnPreview = new wxButton(this, ID_BUTTON7, _("&Preview"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON7")); BoxSizer2->Add(m_btnPreview, 0, wxTOP|wxLEFT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); m_btnRun = new wxButton(this, ID_BUTTON4, _("&Run"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON4")); m_btnRun->Disable(); BoxSizer2->Add(m_btnRun, 0, wxTOP|wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_btnTest = new wxButton(this, ID_BUTTON5, _("test"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON5")); m_btnTest->Hide(); BoxSizer2->Add(m_btnTest, 1, wxTOP|wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer1->Add(BoxSizer2, 0, wxTOP|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); BoxSizer6 = new wxBoxSizer(wxVERTICAL); Notebook1 = new wxNotebook(this, ID_NOTEBOOK1, wxDefaultPosition, wxSize(600,256), wxNB_BOTTOM, _T("ID_NOTEBOOK1")); Notebook1->SetMaxSize(wxSize(320,200)); m_pLcResult = new wxListCtrl(Notebook1, ID_LISTCTRL1, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_HRULES|wxLC_VRULES, wxDefaultValidator, _T("ID_LISTCTRL1")); m_pLcFolderSize = new wxListCtrl(Notebook1, ID_LISTCTRL2, wxDefaultPosition, wxDefaultSize, wxLC_REPORT, wxDefaultValidator, _T("ID_LISTCTRL2")); Notebook1->AddPage(m_pLcResult, _("Preview and run result"), false); Notebook1->AddPage(m_pLcFolderSize, _("Folder size analysis"), false); BoxSizer6->Add(Notebook1, 1, wxTOP|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 2); BoxSizer1->Add(BoxSizer6, 1, wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer4 = new wxBoxSizer(wxHORIZONTAL); m_btnCheckUpdate = new wxButton(this, ID_BUTTON3, _("C&heck for update..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON3")); BoxSizer4->Add(m_btnCheckUpdate, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_btnUiLang = new wxButton(this, ID_BUTTON10, _("U&I Language..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON10")); BoxSizer4->Add(m_btnUiLang, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_btnAbout = new wxButton(this, wxID_ABOUT, _("&About..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("wxID_ABOUT")); BoxSizer4->Add(m_btnAbout, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_btnQuit = new wxButton(this, wxID_EXIT, _("&Quit"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("wxID_EXIT")); BoxSizer4->Add(m_btnQuit, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer1->Add(BoxSizer4, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); SetSizer(BoxSizer1); BoxSizer1->Fit(this); BoxSizer1->SetSizeHints(this); Center(); Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnNewClick); Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnEditClick); Connect(ID_BUTTON6,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnDeleteClick); Connect(ID_BUTTON8,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnUpClick); Connect(ID_BUTTON9,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnDownClick); Connect(ID_CHECKLISTBOX1,wxEVT_COMMAND_LISTBOX_DOUBLECLICKED,(wxObjectEventFunction)&MainDlg::OnBtnEditClick); Connect(ID_BUTTON7,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnPreviewClick); Connect(ID_BUTTON4,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnRunClick); Connect(ID_BUTTON5,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnTestClick); Connect(ID_BUTTON3,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnCheckUpdateClick); Connect(ID_BUTTON10,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnUiLangClick); Connect(wxID_ABOUT,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnAboutClick); Connect(wxID_EXIT,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&MainDlg::OnBtnQuitClick); Connect(wxID_ANY,wxEVT_INIT_DIALOG,(wxObjectEventFunction)&MainDlg::OnInit); //*) // BoxSizer1->Hide(BoxSizer5); Connect(ID_CHECKLISTBOX1, wxEVT_COMMAND_LISTBOX_SELECTED, (wxObjectEventFunction)&MainDlg::OnLbxRuleItemSelect); }
HexagonalPrismGeneratorDialog::HexagonalPrismGeneratorDialog(Mesh &_mesh, wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size): mesh(_mesh) { //(*Initialize(HexagonalPrismGeneratorDialog) wxFlexGridSizer* FlexGridSizer1; wxBoxSizer* BoxSizer3; wxBoxSizer* BoxSizer7; wxBoxSizer* BoxSizer2; wxBoxSizer* BoxSizer4; wxBoxSizer* BoxSizer1; wxBoxSizer* BoxSizer6; wxBoxSizer* BoxSizer5; Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("id")); SetClientSize(wxDefaultSize); Move(wxDefaultPosition); BoxSizer1 = new wxBoxSizer(wxVERTICAL); FlexGridSizer1 = new wxFlexGridSizer(0, 3, 0, 0); StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Height (unit is the diameter of the hexagon face):"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); FlexGridSizer1->Add(StaticText1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); prismHeightTextCtrl = new wxTextCtrl(this, ID_TEXTCTRL1, _("0"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL1")); FlexGridSizer1->Add(prismHeightTextCtrl, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer1->Add(FlexGridSizer1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer3 = new wxBoxSizer(wxHORIZONTAL); regularRadioButton = new wxRadioButton(this, ID_RADIOBUTTON1, _("Regular"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON1")); regularRadioButton->SetValue(true); BoxSizer3->Add(regularRadioButton, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer1->Add(BoxSizer3, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer5 = new wxBoxSizer(wxVERTICAL); kernPrismRadioButton = new wxRadioButton(this, ID_RADIOBUTTON2, _("Kern prism"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON2")); BoxSizer5->Add(kernPrismRadioButton, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer6 = new wxBoxSizer(wxHORIZONTAL); StaticText2 = new wxStaticText(this, ID_STATICTEXT2, _("Side face ratio:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2")); BoxSizer6->Add(StaticText2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); sideFaceRatioTextBox = new wxTextCtrl(this, ID_TEXTCTRL2, _("1"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL2")); sideFaceRatioTextBox->Disable(); BoxSizer6->Add(sideFaceRatioTextBox, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer5->Add(BoxSizer6, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer1->Add(BoxSizer5, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer4 = new wxBoxSizer(wxVERTICAL); parryPlateRadioButton = new wxRadioButton(this, ID_RADIOBUTTON3, _("Parry plate"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON3")); BoxSizer4->Add(parryPlateRadioButton, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer7 = new wxBoxSizer(wxHORIZONTAL); StaticText3 = new wxStaticText(this, ID_STATICTEXT3, _("Height:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3")); BoxSizer7->Add(StaticText3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); parryPlateHeightTextBox = new wxTextCtrl(this, ID_TEXTCTRL3, _("1"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL3")); parryPlateHeightTextBox->Disable(); BoxSizer7->Add(parryPlateHeightTextBox, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer4->Add(BoxSizer7, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer1->Add(BoxSizer4, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer2 = new wxBoxSizer(wxHORIZONTAL); generatePrismButton = new wxButton(this, ID_BUTTON_GENERATEPRISM, _("Generate"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_GENERATEPRISM")); BoxSizer2->Add(generatePrismButton, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); cancelPrismGenerationButton = new wxButton(this, ID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CANCEL")); BoxSizer2->Add(cancelPrismGenerationButton, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer1->Add(BoxSizer2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); SetSizer(BoxSizer1); BoxSizer1->Fit(this); BoxSizer1->SetSizeHints(this); Connect(ID_RADIOBUTTON1,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&HexagonalPrismGeneratorDialog::OnRegularRadioButtonSelect); Connect(ID_RADIOBUTTON2,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&HexagonalPrismGeneratorDialog::OnKernPrismRadioButtonSelect); Connect(ID_RADIOBUTTON3,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&HexagonalPrismGeneratorDialog::OnParryPlateRadioButtonSelect); Connect(ID_BUTTON_GENERATEPRISM,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&HexagonalPrismGeneratorDialog::OngeneratePrismClick); Connect(ID_CANCEL,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&HexagonalPrismGeneratorDialog::OncancelPrismGenerationClick); //*) }
optdlg_mmg_tab::optdlg_mmg_tab(wxWindow *parent, mmg_options_t &options) : optdlg_base_tab(parent, options) { // Create the controls. cb_autoset_output_filename = new wxCheckBox(this, ID_CB_AUTOSET_OUTPUT_FILENAME, Z("Auto-set output filename")); cb_autoset_output_filename->SetToolTip(TIP("If checked mmg will automatically set the output filename " "if it hasn't been set already. This happens when you add " "the first file. If unset mmg will not touch the output filename.")); rb_odm_input_file = new wxRadioButton(this, ID_RB_ODM_INPUT_FILE, Z("Same directory as the first input file's"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP); rb_odm_previous = new wxRadioButton(this, ID_RB_ODM_PREVIOUS, Z("Use the previous output directory")); rb_odm_fixed = new wxRadioButton(this, ID_RB_ODM_FIXED, Z("Use this directory:")); tc_output_directory = new wxTextCtrl(this, ID_TC_OUTPUT_DIRECTORY, m_options.output_directory); b_browse_output_directory = new wxButton(this, ID_B_BROWSE_OUTPUT_DIRECTORY, Z("Browse")); tc_output_directory->SetToolTip(TIP("If left empty then mmg will set the output file name to be in the same directory as the first file added to this job. " "Otherwise this directory will be used.")); cb_ask_before_overwriting = new wxCheckBox(this, ID_CB_ASK_BEFORE_OVERWRITING, Z("Ask before overwriting things (files, jobs)")); cb_ask_before_overwriting->SetToolTip(TIP("If checked mmg will ask for " "confirmation before overwriting " "existing files, or before adding " "a new job if there's an old job " "whose description matches the " "new one.")); cb_set_delay_from_filename = new wxCheckBox(this, ID_CB_SET_DELAY_FROM_FILENAME, Z("Set the delay input field from the file name")); cb_set_delay_from_filename->SetToolTip(TIP("When a file is added its name is scanned. If it contains " "the word 'DELAY' followed by a number then this number " "is automatically put into the 'delay' input field for " "any audio track found in the file.")); cb_filenew_after_add_to_jobqueue = new wxCheckBox(this, ID_CB_NEW_AFTER_ADD_TO_JOBQUEUE, Z("Clear inputs after adding a job to the job queue")); cb_filenew_after_successful_mux = new wxCheckBox(this, ID_CB_NEW_AFTER_SUCCESSFUL_MUX, Z("Clear inputs after a successful muxing run")); cb_on_top = new wxCheckBox(this, ID_CB_ON_TOP, Z("Always on top")); cb_warn_usage = new wxCheckBox(this, ID_CB_WARN_USAGE, Z("Warn about possible incorrect usage of mmg")); cb_warn_usage->SetToolTip(TIP("If checked mmg will warn if it thinks that " "you're using it incorrectly. Such warnings " "are shown at least once even if you turn " "this feature off.")); cb_disable_header_removal_compression = new wxCheckBox(this, ID_CB_DISABLE_HRC, Z("Disable header removal compression for audio and video tracks by default")); cb_disable_header_removal_compression->SetToolTip(TIP("If checked mmg will set the 'compression' drop down box to 'none' for all audio and video tracks by default. " "The user can still change the compression setting afterwards.")); #if defined(HAVE_CURL_EASY_H) cb_check_for_updates = new wxCheckBox(this, ID_CB_CHECK_FOR_UPDATES, Z("Check online for the latest release")); cb_check_for_updates->SetToolTip(TIP("Check online whether or not a new release of MKVToolNix is available on the home page. " "Will only check when mmg starts and at most once a day. " "No information is transmitted to the server.")); #endif // defined(HAVE_CURL_EASY_H) cb_gui_debugging = new wxCheckBox(this, ID_CB_GUI_DEBUGGING, Z("Show mmg's debug window")); cb_gui_debugging->SetToolTip(TIP("Shows mmg's debug window in which debug messages will appear. " "This is only useful if you're helping the author debug a problem in mmg.")); #if defined(HAVE_LIBINTL_H) wxStaticText *st_ui_language = new wxStaticText(this, -1, Z("Interface language:")); cob_ui_language = new wxMTX_COMBOBOX_TYPE(this, ID_COB_UI_LANGUAGE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN | wxCB_READONLY); std::vector<translation_c>::iterator translation = translation_c::ms_available_translations.begin(); wxString select_locale; std::vector<locale_sorter_t> sorted_entries; while (translation != translation_c::ms_available_translations.end()) { wxString curr_entry = wxU(boost::format("%1% (%2%)") % translation->m_translated_name % translation->m_english_name); sorted_entries.push_back(locale_sorter_t(curr_entry, translation->get_locale())); if ( (select_locale.IsEmpty() && (translation->m_english_name == "English")) || ba::iequals(app->m_ui_locale, translation->get_locale())) select_locale = curr_entry; ++translation; } wxLogMessage(wxT("Locale selection logic: select_locale %s uu_locale_lower %s translation_c::get_default_ui_locale() %s app->m_ui_locale %s"), select_locale.c_str(), wxUCS(app->m_ui_locale), wxUCS(translation_c::get_default_ui_locale()), wxUCS(app->m_ui_locale)); std::sort(sorted_entries.begin(), sorted_entries.end()); std::vector<locale_sorter_t>::iterator locale_entry = sorted_entries.begin(); while (locale_entry != sorted_entries.end()) { cob_ui_language->Append(locale_entry->display_val); m_sorted_locales.push_back(locale_entry->locale); ++locale_entry; } #endif // HAVE_LIBINTL_H // Set the defaults. cb_autoset_output_filename->SetValue(m_options.autoset_output_filename); cb_ask_before_overwriting->SetValue(m_options.ask_before_overwriting); cb_on_top->SetValue(m_options.on_top); cb_filenew_after_add_to_jobqueue->SetValue(m_options.filenew_after_add_to_jobqueue); cb_filenew_after_successful_mux->SetValue(m_options.filenew_after_successful_mux); cb_warn_usage->SetValue(m_options.warn_usage); cb_gui_debugging->SetValue(m_options.gui_debugging); cb_set_delay_from_filename->SetValue(m_options.set_delay_from_filename); cb_disable_header_removal_compression->SetValue(m_options.disable_a_v_compression); rb_odm_input_file->SetValue(m_options.output_directory_mode == ODM_FROM_FIRST_INPUT_FILE); rb_odm_previous->SetValue(m_options.output_directory_mode == ODM_PREVIOUS); rb_odm_fixed->SetValue(m_options.output_directory_mode == ODM_FIXED); #if defined(HAVE_LIBINTL_H) set_combobox_selection(cob_ui_language, select_locale); #endif // HAVE_LIBINTL_H #if defined(HAVE_CURL_EASY_H) cb_check_for_updates->SetValue(m_options.check_for_updates); #endif // defined(HAVE_CURL_EASY_H) enable_output_filename_controls(m_options.autoset_output_filename); // Create the layout. wxBoxSizer *siz_all = new wxBoxSizer(wxVERTICAL); siz_all->AddSpacer(5); siz_all->Add(new wxStaticText(this, wxID_ANY, Z("mmg options")), 0, wxGROW | wxLEFT | wxRIGHT, 5); siz_all->AddSpacer(5); siz_all->Add(new wxStaticLine(this), 0, wxGROW | wxLEFT | wxRIGHT, 5); siz_all->AddSpacer(5); wxBoxSizer *siz_line; #if defined(HAVE_LIBINTL_H) siz_line = new wxBoxSizer(wxHORIZONTAL); siz_line->Add(st_ui_language, 0, wxALIGN_CENTER_VERTICAL); siz_line->Add(cob_ui_language, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 5); siz_all->Add(siz_line, 0, wxGROW | wxLEFT, 5); siz_all->AddSpacer(5); #endif // HAVE_LIBINTL_H siz_all->Add(cb_autoset_output_filename, 0, wxLEFT, 5); siz_all->AddSpacer(5); #if defined(SYS_WINDOWS) int left_offset = 16; #else int left_offset = 24; #endif siz_all->Add(rb_odm_input_file, 0, wxLEFT, left_offset); siz_all->AddSpacer(5); siz_all->Add(rb_odm_previous, 0, wxLEFT, left_offset); siz_all->AddSpacer(5); siz_line = new wxBoxSizer(wxHORIZONTAL); siz_line->Add(rb_odm_fixed, 0, wxALIGN_CENTER_VERTICAL, 0); siz_line->Add(tc_output_directory, 1, wxALIGN_CENTER_VERTICAL | wxLEFT, 5); siz_line->Add(b_browse_output_directory, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5); siz_all->Add(siz_line, 0, wxGROW | wxLEFT, left_offset); siz_all->AddSpacer(5); siz_all->Add(cb_ask_before_overwriting, 0, wxLEFT, 5); siz_all->AddSpacer(5); siz_all->Add(cb_set_delay_from_filename, 0, wxLEFT, 5); siz_all->AddSpacer(5); siz_all->Add(cb_filenew_after_add_to_jobqueue, 0, wxLEFT, 5); siz_all->AddSpacer(5); siz_all->Add(cb_filenew_after_successful_mux, 0, wxLEFT, 5); siz_all->AddSpacer(5); #if defined(SYS_WINDOWS) siz_all->Add(cb_on_top, 0, wxLEFT, 5); siz_all->AddSpacer(5); #else cb_on_top->Show(false); #endif siz_all->Add(cb_warn_usage, 0, wxLEFT, 5); siz_all->AddSpacer(5); siz_all->Add(cb_disable_header_removal_compression, 0, wxLEFT, 5); siz_all->AddSpacer(5); #if defined(HAVE_CURL_EASY_H) siz_all->Add(cb_check_for_updates, 0, wxLEFT, 5); siz_all->AddSpacer(5); #endif // defined(HAVE_CURL_EASY_H) siz_all->Add(cb_gui_debugging, 0, wxLEFT, 5); siz_all->AddSpacer(5); SetSizer(siz_all); }
NewPlanetDialog::NewPlanetDialog(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size) { //(*Initialize(NewPlanetDialog) wxBoxSizer* BoxSizer4; wxBoxSizer* BoxSizer6; wxBoxSizer* BoxSizer5; wxBoxSizer* BoxSizer10; wxBoxSizer* BoxSizer7; wxBoxSizer* BoxSizer8; wxBoxSizer* BoxSizer2; wxBoxSizer* BoxSizer1; wxBoxSizer* BoxSizer9; wxFlexGridSizer* FlexGridSizer1; wxBoxSizer* BoxSizer3; Create(parent, wxID_ANY, _("Create New Planet"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("wxID_ANY")); SetFocus(); BoxSizer1 = new wxBoxSizer(wxVERTICAL); FlexGridSizer1 = new wxFlexGridSizer(0, 2, 0, 0); FlexGridSizer1->AddGrowableCol(1); StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Name"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); FlexGridSizer1->Add(StaticText1, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); NameTxtCtrl = new wxTextCtrl(this, ID_TEXTCTRL1, _("NewPlanet"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL1")); FlexGridSizer1->Add(NameTxtCtrl, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); StaticText2 = new wxStaticText(this, ID_STATICTEXT2, _("Colour"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2")); FlexGridSizer1->Add(StaticText2, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); BoxSizer8 = new wxBoxSizer(wxHORIZONTAL); ColourChoice = new wxChoice(this, ID_CHOICE1, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_CHOICE1")); ColourChoice->SetSelection( ColourChoice->Append(_("Black")) ); ColourChoice->Append(_("Red")); ColourChoice->Append(_("Blue")); ColourChoice->Append(_("Green")); ColourChoice->Append(_("Custom")); BoxSizer8->Add(ColourChoice, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); StaticText13 = new wxStaticText(this, ID_STATICTEXT13, _("Size"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT13")); BoxSizer8->Add(StaticText13, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); SizeChoice = new wxChoice(this, ID_CHOICE2, wxDefaultPosition, wxSize(47,21), 0, 0, 0, wxDefaultValidator, _T("ID_CHOICE2")); SizeChoice->SetSelection( SizeChoice->Append(_("0")) ); SizeChoice->Append(_("1")); SizeChoice->Append(_("2")); SizeChoice->Append(_("3")); SizeChoice->Append(_("4")); BoxSizer8->Add(SizeChoice, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); FlexGridSizer1->Add(BoxSizer8, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0); StaticText3 = new wxStaticText(this, ID_STATICTEXT3, _("Initial X"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3")); FlexGridSizer1->Add(StaticText3, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); BoxSizer2 = new wxBoxSizer(wxHORIZONTAL); XTextCtrl = new wxTextCtrl(this, ID_TEXTCTRL2, _("200"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL2")); BoxSizer2->Add(XTextCtrl, 2, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); StaticText7 = new wxStaticText(this, ID_STATICTEXT7, _("x 10³ km"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT7")); BoxSizer2->Add(StaticText7, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer2, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0); StaticText4 = new wxStaticText(this, ID_STATICTEXT4, _("Initial Y"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT4")); FlexGridSizer1->Add(StaticText4, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); BoxSizer3 = new wxBoxSizer(wxHORIZONTAL); YTextCtrl = new wxTextCtrl(this, ID_TEXTCTRL3, _("200"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL3")); BoxSizer3->Add(YTextCtrl, 2, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); StaticText8 = new wxStaticText(this, ID_STATICTEXT8, _("x 10³ km"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT8")); BoxSizer3->Add(StaticText8, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer3, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0); StaticText14 = new wxStaticText(this, ID_STATICTEXT14, _("Initial Z"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT14")); FlexGridSizer1->Add(StaticText14, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); BoxSizer9 = new wxBoxSizer(wxHORIZONTAL); ZTextCtrl = new wxTextCtrl(this, ID_TEXTCTRL7, _("0"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL7")); BoxSizer9->Add(ZTextCtrl, 2, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); StaticText15 = new wxStaticText(this, ID_STATICTEXT15, _("x 10³ km"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT15")); BoxSizer9->Add(StaticText15, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer9, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0); StaticText5 = new wxStaticText(this, ID_STATICTEXT5, _("Initial Vx"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT5")); FlexGridSizer1->Add(StaticText5, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); BoxSizer4 = new wxBoxSizer(wxHORIZONTAL); VxTextCtrl = new wxTextCtrl(this, ID_TEXTCTRL4, _("1"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL4")); BoxSizer4->Add(VxTextCtrl, 2, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); StaticText9 = new wxStaticText(this, ID_STATICTEXT9, _("km / s"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT9")); BoxSizer4->Add(StaticText9, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer4, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0); StaticText6 = new wxStaticText(this, ID_STATICTEXT6, _("Initial Vy"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT6")); FlexGridSizer1->Add(StaticText6, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); BoxSizer5 = new wxBoxSizer(wxHORIZONTAL); VyTextCtrl = new wxTextCtrl(this, ID_TEXTCTRL5, _("1"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL5")); BoxSizer5->Add(VyTextCtrl, 2, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); StaticText10 = new wxStaticText(this, ID_STATICTEXT10, _("km / s"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT10")); BoxSizer5->Add(StaticText10, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer5, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0); StaticText16 = new wxStaticText(this, ID_STATICTEXT16, _("Initial Vz"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT16")); FlexGridSizer1->Add(StaticText16, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); BoxSizer10 = new wxBoxSizer(wxHORIZONTAL); VzTextCtrl = new wxTextCtrl(this, ID_TEXTCTRL8, _("0"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL8")); BoxSizer10->Add(VzTextCtrl, 2, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); StaticText17 = new wxStaticText(this, ID_STATICTEXT17, _("km / s"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT17")); BoxSizer10->Add(StaticText17, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer10, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0); StaticText11 = new wxStaticText(this, ID_STATICTEXT11, _("Mass"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT11")); FlexGridSizer1->Add(StaticText11, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); BoxSizer6 = new wxBoxSizer(wxHORIZONTAL); MassTextCtrl = new wxTextCtrl(this, ID_TEXTCTRL6, _("700"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL6")); BoxSizer6->Add(MassTextCtrl, 2, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); StaticText12 = new wxStaticText(this, ID_STATICTEXT12, _("x 10²º kg"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT12")); BoxSizer6->Add(StaticText12, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer6, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0); BoxSizer1->Add(FlexGridSizer1, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5); BoxSizer7 = new wxBoxSizer(wxHORIZONTAL); Button1 = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("wxID_OK")); Button1->SetFocus(); BoxSizer7->Add(Button1, 0, wxALL|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL, 5); Button2 = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("wxID_CANCEL")); BoxSizer7->Add(Button2, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); BoxSizer1->Add(BoxSizer7, 0, wxALL|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL, 5); SetSizer(BoxSizer1); BoxSizer1->Fit(this); BoxSizer1->SetSizeHints(this); Connect(ID_CHOICE1,wxEVT_COMMAND_CHOICE_SELECTED,(wxObjectEventFunction)&NewPlanetDialog::OnColourChoiceSelect); Connect(wxID_OK,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&NewPlanetDialog::OnButton1Click); Connect(wxID_CANCEL,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&NewPlanetDialog::OnButton2Click); //*) SetEscapeId(wxID_CANCEL); ColourDlgData = new wxColourData(); }
SGFrame::SGFrame(const wxString& title, const wxPoint& pos, const wxSize& size) : wxFrame(0, wxID_ANY, title, pos, size, wxDEFAULT_FRAME_STYLE|wxSUNKEN_BORDER) { models = new SGModels(); shaderGen = new SGShaderGenerator(); CreateStatusBar(1); wxMenu* menu; wxMenuBar* menuBar = new wxMenuBar; menu = new wxMenu; menu->Append(Id::FileExit, wxT("Exit")); menuBar->Append(menu, wxT("File")); menu = new wxMenu; menu->AppendCheckItem(Id::ViewPerspective, wxT("Perspective")); menuBar->Append(menu, wxT("View")); menu = new wxMenu; menu->AppendRadioItem(Id::ModelTorus, wxT("Torus")); menu->AppendRadioItem(Id::ModelSphere, wxT("Sphere")); menu->AppendRadioItem(Id::ModelTrefoil, wxT("Trefoil")); menu->AppendRadioItem(Id::ModelKlein, wxT("Klein")); menu->AppendRadioItem(Id::ModelConic, wxT("Conic")); menu->AppendRadioItem(Id::ModelPlane, wxT("Plane")); menuBar->Append(menu, wxT("Model")); menu = new wxMenu; menu->Append(Id::Help, wxT("Help")); menu->Append(Id::About, wxT("About")); menuBar->Append(menu, wxT("Help")); SetMenuBar(menuBar); Check(Id::ViewPerspective); Check(Id::ModelTorus); oglNotebook = new SGOglNotebook(this, wxID_ANY); canvas = new SGCanvasWrapper(this, wxID_ANY, wxDefaultPosition, wxSize(400, 350) ); shaderText = new SGShaderTextWindow(this); wxBoxSizer *topSizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer *horizSizer = new wxBoxSizer( wxHORIZONTAL ); horizSizer->Add( canvas, 1, wxEXPAND | wxALL | wxADJUST_MINSIZE, 2); horizSizer->Add( shaderText, 1, wxEXPAND | wxALL | wxADJUST_MINSIZE, 2); topSizer->Add( horizSizer, 1, wxEXPAND | wxALIGN_CENTER | wxADJUST_MINSIZE); topSizer->Add( oglNotebook, 0, wxEXPAND | wxALL | wxADJUST_MINSIZE, 2); //SetIcon(wxIcon(wxT("IDI_ICON1"), wxBITMAP_TYPE_ICO_RESOURCE)); SetStatusText(title); SetAutoLayout(TRUE); SetSizer( topSizer ); topSizer->SetSizeHints( this ); CenterOnScreen(); aboutDlg.Create(this); }
drwnOptionsEditor::drwnOptionsEditor(wxWindow *parent, drwnProperties *properties) : wxDialog(NULL, wxID_ANY, "Properties", wxDefaultPosition,wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxFRAME_TOOL_WINDOW), _properties(properties), _copy(properties), _grid(NULL) { wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL); mainSizer->SetMinSize(wxSize(120, 160)); // add properties grid _grid = new wxGrid(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxEXPAND | wxWANTS_CHARS); _grid->CreateGrid(_properties->numProperties(), 1); _grid->SetColLabelValue(0, "Value"); for (unsigned i = 0; i < _properties->numProperties(); i++) { _grid->SetRowLabelValue(i, _properties->getPropertyName(i).c_str()); _grid->SetCellValue(i, 0, _properties->getPropertyAsString(i).c_str()); _grid->SetCellBackgroundColour(i, 0, *wxWHITE); if (_properties->isReadOnly(i)) { _grid->SetReadOnly(i, 0); _grid->SetCellTextColour(i, 0, *wxRED); } switch (_properties->getPropertyType(i)) { case DRWN_BOOLEAN_PROPERTY: // TODO break; case DRWN_SELECTION_PROPERTY: { const vector<string> *choices = ((drwnSelectionProperty *)_properties->getProperty(i))->getChoices(); wxArrayString choiceArray; for (unsigned k = 0; k < choices->size(); k++) { choiceArray.Add(wxString(choices->at(k))); } _grid->SetCellEditor(i, 0, new wxGridCellChoiceEditor(choiceArray)); } break; case DRWN_VECTOR_PROPERTY: _grid->SetReadOnly(i, 0); break; case DRWN_MATRIX_PROPERTY: _grid->SetReadOnly(i, 0); break; default: // do nothing: happy with text editor break; } } //_grid->AutoSizeColumns(); _grid->AutoSize(); mainSizer->Add(_grid, 1, wxEXPAND | wxALL, 10); // TODO: change to CreateButtonSizer? wxBoxSizer *buttons = new wxBoxSizer(wxHORIZONTAL); #if 0 // TODO: wxWidgets version problem? buttons->Add(new wxButton(this, wxID_OK, "OK"), wxSizerFlags(0).Align().Border(wxALL, 10)); buttons->Add(new wxButton( this, wxID_CANCEL, "Cancel" ), wxSizerFlags(0).Align().Border(wxALL, 10)); #else buttons->Add(new wxButton(this, wxID_OK, "OK"), 0, wxALL, 10); buttons->Add(new wxButton(this, wxID_CANCEL, "Cancel"), 0, wxALL, 10); #endif mainSizer->Add(buttons, 0, wxALIGN_CENTER); // implement the sizer SetSizer(mainSizer); mainSizer->SetSizeHints(this); }
CGMSKRepeaterFrame::CGMSKRepeaterFrame(const wxString& title, const wxPoint& position, bool gui) : wxFrame(NULL, -1, title, position), m_logging(NULL), m_state(NULL), m_tx(NULL), m_your(NULL), m_my(NULL), m_rpt1(NULL), m_rpt2(NULL), m_flags(NULL), m_percent(NULL), m_timeout(NULL), m_beacon(NULL), m_announce(NULL), m_text(NULL), m_status1(NULL), m_status2(NULL), m_status3(NULL), m_status4(NULL), m_status5(NULL), m_logLine1(NULL), m_logLine2(NULL), m_logLine3(NULL), m_timer(this), m_outputMenu(NULL), #if defined(__WXDEBUG__) m_updates(true) #else m_updates(gui) #endif { SetMenuBar(createMenuBar()); wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL); wxPanel* panel = new wxPanel(this); wxBoxSizer* panelSizer = new wxBoxSizer(wxVERTICAL); wxStaticBoxSizer* stat1Sizer = new wxStaticBoxSizer(new wxStaticBox(panel, -1, _("Status")), wxVERTICAL); wxFlexGridSizer* stat2Sizer = new wxFlexGridSizer(6); wxStaticText* stateLabel = new wxStaticText(panel, -1, wxT("State:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); stat2Sizer->Add(stateLabel, 0, wxALL, BORDER_SIZE); m_state = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); stat2Sizer->Add(m_state, 0, wxALL, BORDER_SIZE); wxStaticText* txLabel = new wxStaticText(panel, -1, wxT("TX:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); stat2Sizer->Add(txLabel, 0, wxALL, BORDER_SIZE); m_tx = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); stat2Sizer->Add(m_tx, 0, wxALL, BORDER_SIZE); wxStaticText* dummy7Label = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(LABEL_WIDTH, -1)); stat2Sizer->Add(dummy7Label, 0, wxALL, BORDER_SIZE); wxStaticText* dummy8Label = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); stat2Sizer->Add(dummy8Label, 0, wxALL, BORDER_SIZE); stat1Sizer->Add(stat2Sizer); panelSizer->Add(stat1Sizer, 0, wxALL, BORDER_SIZE); wxStaticBoxSizer* info1Sizer = new wxStaticBoxSizer(new wxStaticBox(panel, -1, _("Header")), wxVERTICAL); wxFlexGridSizer* info2Sizer = new wxFlexGridSizer(6); wxStaticText* yourLabel = new wxStaticText(panel, -1, wxT("UR:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); info2Sizer->Add(yourLabel, 0, wxALL, BORDER_SIZE); m_your = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); info2Sizer->Add(m_your, 0, wxALL, BORDER_SIZE); wxStaticText* rpt1Label = new wxStaticText(panel, -1, wxT("RPT1:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); info2Sizer->Add(rpt1Label, 0, wxALL, BORDER_SIZE); m_rpt1 = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); info2Sizer->Add(m_rpt1, 0, wxALL, BORDER_SIZE); wxStaticText* rpt2Label = new wxStaticText(panel, -1, wxT("RPT2:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); info2Sizer->Add(rpt2Label, 0, wxALL, BORDER_SIZE); m_rpt2 = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); info2Sizer->Add(m_rpt2, 0, wxALL, BORDER_SIZE); wxStaticText* myLabel = new wxStaticText(panel, -1, wxT("MY:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); info2Sizer->Add(myLabel, 0, wxALL, BORDER_SIZE); m_my = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); info2Sizer->Add(m_my, 0, wxALL, BORDER_SIZE); wxStaticText* flagsLabel = new wxStaticText(panel, -1, _("Flags:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); info2Sizer->Add(flagsLabel, 0, wxALL, BORDER_SIZE); m_flags = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(LABEL_WIDTH, -1)); info2Sizer->Add(m_flags, 0, wxALL, BORDER_SIZE); wxStaticText* percentLabel = new wxStaticText(panel, -1, _("Loss/BER:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); info2Sizer->Add(percentLabel, 0, wxALL, BORDER_SIZE); m_percent = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(LABEL_WIDTH, -1)); info2Sizer->Add(m_percent, 0, wxALL, BORDER_SIZE); info1Sizer->Add(info2Sizer); panelSizer->Add(info1Sizer, 0, wxALL, BORDER_SIZE); wxStaticBoxSizer* timer1Sizer = new wxStaticBoxSizer(new wxStaticBox(panel, -1, _("Timers")), wxVERTICAL); wxFlexGridSizer* timer2Sizer = new wxFlexGridSizer(6); wxStaticText* timeoutLabel = new wxStaticText(panel, -1, _("Timeout:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); timer2Sizer->Add(timeoutLabel, 0, wxALL, BORDER_SIZE); m_timeout = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); timer2Sizer->Add(m_timeout, 0, wxALL, BORDER_SIZE); wxStaticText* beaconLabel = new wxStaticText(panel, -1, _("Beacon:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); timer2Sizer->Add(beaconLabel, 0, wxALL, BORDER_SIZE); m_beacon = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); timer2Sizer->Add(m_beacon, 0, wxALL, BORDER_SIZE); wxStaticText* announceLabel = new wxStaticText(panel, -1, _("Announce:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); timer2Sizer->Add(announceLabel, 0, wxALL, BORDER_SIZE); m_announce = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); timer2Sizer->Add(m_announce, 0, wxALL, BORDER_SIZE); timer1Sizer->Add(timer2Sizer); panelSizer->Add(timer1Sizer, 0, wxALL, BORDER_SIZE); wxStaticBoxSizer* text1Sizer = new wxStaticBoxSizer(new wxStaticBox(panel, -1, _("Gateway")), wxVERTICAL); wxFlexGridSizer* text2Sizer = new wxFlexGridSizer(6); wxStaticText* textLabel = new wxStaticText(panel, -1, _("Ack Text:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); text2Sizer->Add(textLabel, 0, wxALL, BORDER_SIZE); m_text = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); text2Sizer->Add(m_text, 0, wxALL, BORDER_SIZE); wxStaticText* status1Label = new wxStaticText(panel, -1, _("Status 1:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); text2Sizer->Add(status1Label, 0, wxALL, BORDER_SIZE); m_status1 = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); text2Sizer->Add(m_status1, 0, wxALL, BORDER_SIZE); wxStaticText* status2Label = new wxStaticText(panel, -1, _("Status 2:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); text2Sizer->Add(status2Label, 0, wxALL, BORDER_SIZE); m_status2 = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); text2Sizer->Add(m_status2, 0, wxALL, BORDER_SIZE); wxStaticText* status3Label = new wxStaticText(panel, -1, _("Status 3:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); text2Sizer->Add(status3Label, 0, wxALL, BORDER_SIZE); m_status3 = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); text2Sizer->Add(m_status3, 0, wxALL, BORDER_SIZE); wxStaticText* status4Label = new wxStaticText(panel, -1, _("Status 4:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); text2Sizer->Add(status4Label, 0, wxALL, BORDER_SIZE); m_status4 = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); text2Sizer->Add(m_status4, 0, wxALL, BORDER_SIZE); wxStaticText* status5Label = new wxStaticText(panel, -1, _("Status 5:"), wxDefaultPosition, wxSize(LABEL_WIDTH, -1), wxALIGN_RIGHT); text2Sizer->Add(status5Label, 0, wxALL, BORDER_SIZE); m_status5 = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(CONTROL_WIDTH, -1)); text2Sizer->Add(m_status5, 0, wxALL, BORDER_SIZE); text1Sizer->Add(text2Sizer); panelSizer->Add(text1Sizer, 0, wxALL, BORDER_SIZE); wxStaticBoxSizer* log1Sizer = new wxStaticBoxSizer(new wxStaticBox(panel, -1, _("Log")), wxVERTICAL); wxBoxSizer* log2Sizer = new wxBoxSizer(wxVERTICAL); m_logLine1 = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(LOGTEXT_WIDTH, -1)); m_logLine1->Wrap(LOGTEXT_WIDTH); log2Sizer->Add(m_logLine1, 0, wxTOP | wxLEFT | wxRIGHT, BORDER_SIZE); m_logLine2 = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(LOGTEXT_WIDTH, -1)); m_logLine2->Wrap(LOGTEXT_WIDTH); log2Sizer->Add(m_logLine2, 0, wxLEFT | wxRIGHT, BORDER_SIZE); m_logLine3 = new wxStaticText(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(LOGTEXT_WIDTH, -1)); m_logLine3->Wrap(LOGTEXT_WIDTH); log2Sizer->Add(m_logLine3, 0, wxLEFT | wxRIGHT | wxBOTTOM, BORDER_SIZE); log1Sizer->Add(log2Sizer); panelSizer->Add(log1Sizer, 0, wxALL, BORDER_SIZE); panel->SetSizer(panelSizer); panelSizer->SetSizeHints(panel); mainSizer->Add(panel); SetSizer(mainSizer); mainSizer->SetSizeHints(this); m_timer.Start(1000); } CGMSKRepeaterFrame::~CGMSKRepeaterFrame() { } wxMenuBar* CGMSKRepeaterFrame::createMenuBar() { wxMenu* fileMenu = new wxMenu(); m_logging = fileMenu->AppendCheckItem(Menu_File_Logging, _("Logging")); fileMenu->AppendSeparator(); fileMenu->Append(wxID_EXIT, _("Exit")); wxMenu* editMenu = new wxMenu(); editMenu->Append(Menu_Edit_Preferences, _("Preferences...")); wxMenu* viewMenu = new wxMenu(); viewMenu->AppendCheckItem(Menu_View_Updates, _("GUI Updates")); viewMenu->Check(Menu_View_Updates, m_updates); wxMenu* actionMenu = new wxMenu(); actionMenu->Append(Menu_Action_Shutdown, _("Shutdown")); actionMenu->Append(Menu_Action_Startup, _("Startup")); actionMenu->Append(Menu_Action_Command1, _("Command 1")); actionMenu->Append(Menu_Action_Command2, _("Command 2")); actionMenu->Append(Menu_Action_Command3, _("Command 3")); actionMenu->Append(Menu_Action_Command4, _("Command 4")); m_outputMenu = new wxMenu(); m_outputMenu->AppendCheckItem(Menu_Output_1, _("Output 1")); m_outputMenu->AppendCheckItem(Menu_Output_2, _("Output 2")); m_outputMenu->AppendCheckItem(Menu_Output_3, _("Output 3")); m_outputMenu->AppendCheckItem(Menu_Output_4, _("Output 4")); wxMenu* helpMenu = new wxMenu(); helpMenu->Append(wxID_ABOUT, _("About GMSK Repeater")); wxMenuBar* menuBar = new wxMenuBar(); menuBar->Append(fileMenu, _("File")); menuBar->Append(editMenu, _("Edit")); menuBar->Append(viewMenu, _("View")); menuBar->Append(actionMenu, _("Action")); menuBar->Append(m_outputMenu, _("Outputs")); menuBar->Append(helpMenu, _("Help")); return menuBar; } void CGMSKRepeaterFrame::setLogging(bool logging) { m_logging->Check(logging); }
void PathConfigPane::InitializeGUI() { m_iso_paths_listbox = new wxListBox(this, wxID_ANY); m_recursive_iso_paths_checkbox = new wxCheckBox(this, wxID_ANY, _("Search Subfolders")); m_add_iso_path_button = new wxButton(this, wxID_ANY, _("Add...")); m_remove_iso_path_button = new wxButton(this, wxID_ANY, _("Remove")); m_remove_iso_path_button->Disable(); m_default_iso_filepicker = new wxFilePickerCtrl( this, wxID_ANY, wxEmptyString, _("Choose a default ISO:"), _("All GC/Wii files (elf, dol, gcm, iso, wbfs, ciso, gcz, wad)") + wxString::Format("|*.elf;*.dol;*.gcm;*.iso;*.wbfs;*.ciso;*.gcz;*.wad|%s", wxGetTranslation(wxALL_FILES)), wxDefaultPosition, wxDefaultSize, wxFLP_USE_TEXTCTRL | wxFLP_OPEN | wxFLP_SMALL); m_dvd_root_dirpicker = new wxDirPickerCtrl(this, wxID_ANY, wxEmptyString, _("Choose a DVD root directory:"), wxDefaultPosition, wxDefaultSize, wxDIRP_USE_TEXTCTRL | wxDIRP_SMALL); m_apploader_path_filepicker = new wxFilePickerCtrl( this, wxID_ANY, wxEmptyString, _("Choose file to use as apploader: (applies to discs constructed from directories only)"), _("apploader (.img)") + wxString::Format("|*.img|%s", wxGetTranslation(wxALL_FILES)), wxDefaultPosition, wxDefaultSize, wxFLP_USE_TEXTCTRL | wxFLP_OPEN | wxFLP_SMALL); m_nand_root_dirpicker = new wxDirPickerCtrl(this, wxID_ANY, wxEmptyString, _("Choose a NAND root directory:"), wxDefaultPosition, wxDefaultSize, wxDIRP_USE_TEXTCTRL | wxDIRP_SMALL); m_dump_path_dirpicker = new wxDirPickerCtrl(this, wxID_ANY, wxEmptyString, _("Choose a dump directory:"), wxDefaultPosition, wxDefaultSize, wxDIRP_USE_TEXTCTRL | wxDIRP_SMALL); m_wii_sdcard_filepicker = new wxFilePickerCtrl( this, wxID_ANY, wxEmptyString, _("Choose an SD Card file:"), wxFileSelectorDefaultWildcardStr, wxDefaultPosition, wxDefaultSize, wxDIRP_USE_TEXTCTRL | wxDIRP_SMALL); const int space5 = FromDIP(5); wxBoxSizer* const iso_button_sizer = new wxBoxSizer(wxHORIZONTAL); iso_button_sizer->Add(m_recursive_iso_paths_checkbox, 0, wxALIGN_CENTER_VERTICAL); iso_button_sizer->AddStretchSpacer(); iso_button_sizer->Add(m_add_iso_path_button, 0, wxALIGN_CENTER_VERTICAL); iso_button_sizer->Add(m_remove_iso_path_button, 0, wxALIGN_CENTER_VERTICAL); wxStaticBoxSizer* const iso_listbox_sizer = new wxStaticBoxSizer(wxVERTICAL, this, _("ISO Directories")); iso_listbox_sizer->Add(m_iso_paths_listbox, 1, wxEXPAND); iso_listbox_sizer->AddSpacer(space5); iso_listbox_sizer->Add(iso_button_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT, space5); iso_listbox_sizer->AddSpacer(space5); wxGridBagSizer* const picker_sizer = new wxGridBagSizer(space5, space5); picker_sizer->Add(new wxStaticText(this, wxID_ANY, _("Default ISO:")), wxGBPosition(0, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); picker_sizer->Add(m_default_iso_filepicker, wxGBPosition(0, 1), wxDefaultSpan, wxEXPAND); picker_sizer->Add(new wxStaticText(this, wxID_ANY, _("DVD Root:")), wxGBPosition(1, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); picker_sizer->Add(m_dvd_root_dirpicker, wxGBPosition(1, 1), wxDefaultSpan, wxEXPAND); picker_sizer->Add(new wxStaticText(this, wxID_ANY, _("Apploader:")), wxGBPosition(2, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); picker_sizer->Add(m_apploader_path_filepicker, wxGBPosition(2, 1), wxDefaultSpan, wxEXPAND); picker_sizer->Add(new wxStaticText(this, wxID_ANY, _("Wii NAND Root:")), wxGBPosition(3, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); picker_sizer->Add(m_nand_root_dirpicker, wxGBPosition(3, 1), wxDefaultSpan, wxEXPAND); picker_sizer->Add(new wxStaticText(this, wxID_ANY, _("Dump Path:")), wxGBPosition(4, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); picker_sizer->Add(m_dump_path_dirpicker, wxGBPosition(4, 1), wxDefaultSpan, wxEXPAND); picker_sizer->Add(new wxStaticText(this, wxID_ANY, _("SD Card Path:")), wxGBPosition(5, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); picker_sizer->Add(m_wii_sdcard_filepicker, wxGBPosition(5, 1), wxDefaultSpan, wxEXPAND); picker_sizer->AddGrowableCol(1); // Populate the Paths page wxBoxSizer* const main_sizer = new wxBoxSizer(wxVERTICAL); main_sizer->AddSpacer(space5); main_sizer->Add(iso_listbox_sizer, 1, wxEXPAND | wxLEFT | wxRIGHT, space5); main_sizer->AddSpacer(space5); main_sizer->Add(picker_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT, space5); main_sizer->AddSpacer(space5); SetSizer(main_sizer); }
NewBuildTab::NewBuildTab(wxWindow* parent) : wxPanel(parent) , m_warnCount(0) , m_errorCount(0) , m_buildInterrupted(false) , m_autoHide(false) , m_showMe(BuildTabSettingsData::ShowOnStart) , m_skipWarnings(false) , m_buildpaneScrollTo(ScrollToFirstError) , m_buildInProgress(false) { m_curError = m_errorsAndWarningsList.end(); wxBoxSizer* bs = new wxBoxSizer(wxHORIZONTAL); SetSizer(bs); // Determine the row height wxBitmap tmpBmp(1, 1); wxMemoryDC memDc; memDc.SelectObject(tmpBmp); wxFont fnt = DoGetFont(); int xx, yy; memDc.GetTextExtent(wxT("Tp"), &xx, &yy, NULL, NULL, &fnt); int style = wxDV_NO_HEADER | wxDV_MULTIPLE; // style |= wxDV_ROW_LINES; m_listctrl = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, style); m_listctrl->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxContextMenuEventHandler(NewBuildTab::OnMenu), NULL, this); m_listctrl->Connect( XRCID("copy_all"), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(NewBuildTab::OnCopy), NULL, this); m_listctrl->Connect( wxID_COPY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(NewBuildTab::OnCopySelection), NULL, this); m_listctrl->Connect( wxID_PASTE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(NewBuildTab::OnOpenInEditor), NULL, this); m_listctrl->Connect( wxID_CLEAR, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(NewBuildTab::OnClear), NULL, this); m_listctrl->Connect(XRCID("copy_all"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(NewBuildTab::OnCopyUI), NULL, this); m_listctrl->Connect(wxID_COPY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(NewBuildTab::OnCopySelectionUI), NULL, this); m_listctrl->Connect(wxID_PASTE, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(NewBuildTab::OnOpenInEditorUI), NULL, this); m_listctrl->Connect(wxID_CLEAR, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(NewBuildTab::OnClearUI), NULL, this); // Make sure we have enought height for the icon yy < 12 ? yy = 12 : yy = yy; m_listctrl->SetRowHeight(yy); bs->Add(m_listctrl, 1, wxEXPAND | wxALL); BuildTabTopPanel* toolbox = new BuildTabTopPanel(this); #ifdef __WXMAC__ bs->Add(toolbox, 0, wxEXPAND); #else bs->Insert(0, toolbox, 0, wxEXPAND); #endif int screenWidth = BUILD_PANE_WIDTH; // use a long screen width to allow long lines m_textRenderer = new MyTextRenderer(m_listctrl); m_listctrl->AppendColumn(new wxDataViewColumn(_("Message"), m_textRenderer, 0, screenWidth, wxALIGN_LEFT)); EventNotifier::Get()->Connect( wxEVT_SHELL_COMMAND_STARTED, clCommandEventHandler(NewBuildTab::OnBuildStarted), NULL, this); EventNotifier::Get()->Connect( wxEVT_SHELL_COMMAND_STARTED_NOCLEAN, clCommandEventHandler(NewBuildTab::OnBuildStarted), NULL, this); EventNotifier::Get()->Connect( wxEVT_SHELL_COMMAND_ADDLINE, clCommandEventHandler(NewBuildTab::OnBuildAddLine), NULL, this); EventNotifier::Get()->Connect( wxEVT_SHELL_COMMAND_PROCESS_ENDED, clCommandEventHandler(NewBuildTab::OnBuildEnded), NULL, this); EventNotifier::Get()->Connect( wxEVT_WORKSPACE_LOADED, wxCommandEventHandler(NewBuildTab::OnWorkspaceLoaded), NULL, this); EventNotifier::Get()->Connect( wxEVT_WORKSPACE_CLOSED, wxCommandEventHandler(NewBuildTab::OnWorkspaceClosed), NULL, this); wxTheApp->Connect(XRCID("next_build_error"), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(NewBuildTab::OnNextBuildError), NULL, this); wxTheApp->Connect(XRCID("next_build_error"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(NewBuildTab::OnNextBuildErrorUI), NULL, this); m_listctrl->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(NewBuildTab::OnLineSelected), NULL, this); }
void PrintPostScriptDialog::CreateControls() { wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL); SetSizer( topsizer ); wxBoxSizer *horizontalsizer = new wxBoxSizer( wxHORIZONTAL ); wxButton *print = new wxButton(this, wxID_OK, wxT("&Print")); horizontalsizer->Add(print, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); wxButton *close = new wxButton(this, wxID_CANCEL, wxT("&Cancel")); horizontalsizer->Add(close, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); close->SetDefault(); wxButton *resetdefaults = new wxButton(this, CC_PRINT_BUTTON_RESET_DEFAULTS, wxT("&Reset Values")); horizontalsizer->Add(resetdefaults, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); topsizer->Add(horizontalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); wxBoxSizer *verticalsizer = NULL; #ifdef PRINT__RUN_CMD horizontalsizer = new wxBoxSizer( wxHORIZONTAL ); verticalsizer = new wxBoxSizer( wxVERTICAL ); verticalsizer->Add(new wxStaticText(this, wxID_STATIC, wxT("Printer Command:"), wxDefaultPosition, wxDefaultSize, 0), 0, wxALIGN_LEFT|wxALL, 5); text_cmd = new wxTextCtrl(this, wxID_ANY); verticalsizer->Add(text_cmd, 0, wxGROW|wxALL, 5 ); horizontalsizer->Add(verticalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); verticalsizer = new wxBoxSizer( wxVERTICAL ); verticalsizer->Add(new wxStaticText(this, wxID_STATIC, wxT("Printer Options:"), wxDefaultPosition, wxDefaultSize, 0), 0, wxALIGN_LEFT|wxALL, 5); text_opts = new wxTextCtrl(this, wxID_ANY); verticalsizer->Add(text_opts, 0, wxGROW|wxALL, 5 ); horizontalsizer->Add(verticalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); topsizer->Add(horizontalsizer, 0, wxALL, 5 ); horizontalsizer = new wxBoxSizer( wxHORIZONTAL ); verticalsizer = new wxBoxSizer( wxVERTICAL ); verticalsizer->Add(new wxStaticText(this, wxID_STATIC, wxT("Preview Command:"), wxDefaultPosition, wxDefaultSize, 0), 0, wxALIGN_LEFT|wxALL, 5); text_view_cmd = new wxTextCtrl(this, wxID_ANY); verticalsizer->Add(text_view_cmd, 0, wxGROW|wxALL, 5 ); horizontalsizer->Add(verticalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); verticalsizer = new wxBoxSizer( wxVERTICAL ); verticalsizer->Add(new wxStaticText(this, wxID_STATIC, wxT("Preview Options:"), wxDefaultPosition, wxDefaultSize, 0), 0, wxALIGN_LEFT|wxALL, 5); text_view_opts = new wxTextCtrl(this, wxID_ANY); verticalsizer->Add(text_view_opts, 0, wxGROW|wxALL, 5 ); horizontalsizer->Add(verticalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); topsizer->Add(horizontalsizer, 0, wxALL, 5 ); #else // PRINT__RUN_CMD horizontalsizer = new wxBoxSizer( wxHORIZONTAL ); verticalsizer = new wxBoxSizer( wxVERTICAL ); verticalsizer->Add(new wxStaticText(this, wxID_STATIC, wxT("Printer &Device:"), wxDefaultPosition, wxDefaultSize, 0), 0, wxALIGN_LEFT|wxALL, 5); text_cmd = new wxTextCtrl(this, wxID_ANY); verticalsizer->Add(text_cmd, 0, wxGROW|wxALL, 5 ); horizontalsizer->Add(verticalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); topsizer->Add(horizontalsizer, 0, wxALL, 5 ); #endif horizontalsizer = new wxBoxSizer( wxHORIZONTAL ); wxString orientation[] = { wxT("Portrait"), wxT("Landscape") }; radio_orient = new wxRadioBox(this, wxID_ANY, wxT("&Orientation:"),wxDefaultPosition,wxDefaultSize, sizeof(orientation)/sizeof(wxString),orientation); horizontalsizer->Add(radio_orient, 0, wxALL, 5 ); #ifdef PRINT__RUN_CMD wxString print_modes[] = { wxT("Send to Printer"), wxT("Print to File"), wxT("Preview Only") }; #else wxString print_modes[] = { wxT("Send to Printer"), wxT("Print to File") }; #endif radio_method = new wxRadioBox(this, -1, wxT("Post&Script:"),wxDefaultPosition,wxDefaultSize, sizeof(print_modes)/sizeof(wxString), print_modes); horizontalsizer->Add(radio_method, 0, wxALL, 5 ); topsizer->Add(horizontalsizer, 0, wxALL, 5 ); horizontalsizer = new wxBoxSizer( wxHORIZONTAL ); check_overview = new wxCheckBox(this, -1, wxT("Over&view")); horizontalsizer->Add(check_overview, 0, wxALL, 5 ); check_cont = new wxCheckBox(this, -1, wxT("Continuit&y")); horizontalsizer->Add(check_cont, 0, wxALL, 5 ); if (!eps) { check_pages = new wxCheckBox(this, -1, wxT("Cove&r pages")); horizontalsizer->Add(check_pages, 0, wxALL, 5 ); } else { check_pages = NULL; } topsizer->Add(horizontalsizer, 0, wxALL, 5 ); if (!eps) { topsizer->Add(new wxButton(this, CC_PRINT_BUTTON_SELECT,wxT("S&elect sheets...")), 0, wxALL, 5 ); } horizontalsizer = new wxBoxSizer( wxHORIZONTAL ); verticalsizer = new wxBoxSizer( wxVERTICAL ); verticalsizer->Add(new wxStaticText(this, wxID_STATIC, wxT("Page &width: "), wxDefaultPosition, wxDefaultSize, 0), 0, wxALIGN_LEFT|wxALL, 5); text_width = new wxTextCtrl(this, wxID_ANY); verticalsizer->Add(text_width, 0, wxGROW|wxALL, 5 ); horizontalsizer->Add(verticalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); verticalsizer = new wxBoxSizer( wxVERTICAL ); verticalsizer->Add(new wxStaticText(this, wxID_STATIC, wxT("Page &height: "), wxDefaultPosition, wxDefaultSize, 0), 0, wxALIGN_LEFT|wxALL, 5); text_height = new wxTextCtrl(this, wxID_ANY); verticalsizer->Add(text_height, 0, wxGROW|wxALL, 5 ); horizontalsizer->Add(verticalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); verticalsizer = new wxBoxSizer( wxVERTICAL ); verticalsizer->Add(new wxStaticText(this, wxID_STATIC, wxT("&Left margin: "), wxDefaultPosition, wxDefaultSize, 0), 0, wxALIGN_LEFT|wxALL, 5); text_x = new wxTextCtrl(this, wxID_ANY); verticalsizer->Add(text_x, 0, wxGROW|wxALL, 5 ); horizontalsizer->Add(verticalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); verticalsizer = new wxBoxSizer( wxVERTICAL ); verticalsizer->Add(new wxStaticText(this, wxID_STATIC, wxT("&Top margin: "), wxDefaultPosition, wxDefaultSize, 0), 0, wxALIGN_LEFT|wxALL, 5); text_y = new wxTextCtrl(this, wxID_ANY); verticalsizer->Add(text_y, 0, wxGROW|wxALL, 5 ); horizontalsizer->Add(verticalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); verticalsizer = new wxBoxSizer( wxVERTICAL ); verticalsizer->Add(new wxStaticText(this, wxID_STATIC, wxT("Paper &length: "), wxDefaultPosition, wxDefaultSize, 0), 0, wxALIGN_LEFT|wxALL, 5); text_length = new wxTextCtrl(this, wxID_ANY); verticalsizer->Add(text_length, 0, wxGROW|wxALL, 5 ); horizontalsizer->Add(verticalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); topsizer->Add(horizontalsizer, 0, wxALL, 5 ); horizontalsizer = new wxBoxSizer( wxHORIZONTAL ); verticalsizer = new wxBoxSizer( wxVERTICAL ); verticalsizer->Add(new wxStaticText(this, wxID_STATIC, wxT("Yards: "), wxDefaultPosition, wxDefaultSize, 0), 0, wxALIGN_LEFT|wxALL, 5); text_minyards = new wxTextCtrl(this, wxID_ANY, wxT("50")); verticalsizer->Add(text_minyards, 0, wxGROW|wxALL, 5 ); horizontalsizer->Add(verticalsizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); topsizer->Add(horizontalsizer, 0, wxALL, 5 ); }
bool FILEDIALOG::Create( wxWindow *parent, const wxString& message, const wxString& defaultDir, const wxString& defaultFile, const wxString& wildCard, long style, const wxPoint& pos, const wxSize& sz, const wxString& name, bool bypassGenericImpl ) { m_dialogStyle = style; m_bypassGenericImpl = bypassGenericImpl; if (!wxFileDialogBase::Create(parent, message, defaultDir, defaultFile, wildCard, style, pos, sz, name)) { return false; } if (m_bypassGenericImpl) return true; if (!wxDialog::Create( parent, wxID_ANY, message, pos, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER )) { return false; } ignoreChanges = true; if (wxConfig::Get(false)) { wxConfig::Get()->Read(wxT("/wxWindows/wxFileDialog/ViewStyle"), &ms_lastViewStyle); wxConfig::Get()->Read(wxT("/wxWindows/wxFileDialog/ShowHidden"), &ms_lastShowHidden); } if (m_dialogStyle == 0) m_dialogStyle = wxFD_OPEN; if ((m_dialogStyle & wxFD_MULTIPLE ) && !(m_dialogStyle & wxFD_OPEN)) m_dialogStyle |= wxFD_OPEN; if ((m_dir.empty()) || (m_dir == wxT("."))) { m_dir = wxGetCwd(); if (m_dir.empty()) m_dir = wxFILE_SEP_PATH; } size_t len = m_dir.Len(); if ((len > 1) && (wxEndsWithPathSeparator(m_dir))) m_dir.Remove( len-1, 1 ); m_path = m_dir; m_path += wxFILE_SEP_PATH; m_path += defaultFile; m_filterExtension = wxEmptyString; // layout bool is_pda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA); wxBoxSizer *mainsizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer *buttonsizer = new wxBoxSizer( wxHORIZONTAL ); wxBitmapButton *but; but = new wxBitmapButton(this, ID_LIST_MODE, wxArtProvider::GetBitmap(wxART_LIST_VIEW, wxART_BUTTON)); #if wxUSE_TOOLTIPS but->SetToolTip( _("View files as a list view") ); #endif buttonsizer->Add( but, 0, wxALL, 5 ); but = new wxBitmapButton(this, ID_REPORT_MODE, wxArtProvider::GetBitmap(wxART_REPORT_VIEW, wxART_BUTTON)); #if wxUSE_TOOLTIPS but->SetToolTip( _("View files as a detailed view") ); #endif buttonsizer->Add( but, 0, wxALL, 5 ); buttonsizer->Add( 30, 5, 1 ); m_upDirButton = new wxBitmapButton(this, ID_UP_DIR, wxArtProvider::GetBitmap(wxART_GO_DIR_UP, wxART_BUTTON)); #if wxUSE_TOOLTIPS m_upDirButton->SetToolTip( _("Go to parent directory") ); #endif buttonsizer->Add( m_upDirButton, 0, wxALL, 5 ); #ifndef __DOS__ // VS: Home directory is meaningless in MS-DOS... but = new wxBitmapButton(this, ID_PARENT_DIR, wxArtProvider::GetBitmap(wxART_GO_HOME, wxART_BUTTON)); #if wxUSE_TOOLTIPS but->SetToolTip( _("Go to home directory") ); #endif buttonsizer->Add( but, 0, wxALL, 5); buttonsizer->Add( 20, 20 ); #endif //!__DOS__ m_newDirButton = new wxBitmapButton(this, ID_NEW_DIR, wxArtProvider::GetBitmap(wxART_NEW_DIR, wxART_BUTTON)); #if wxUSE_TOOLTIPS m_newDirButton->SetToolTip( _("Create new directory") ); #endif buttonsizer->Add( m_newDirButton, 0, wxALL, 5 ); if (is_pda) mainsizer->Add( buttonsizer, 0, wxALL | wxEXPAND, 0 ); else mainsizer->Add( buttonsizer, 0, wxALL | wxEXPAND, 5 ); wxBoxSizer *staticsizer = new wxBoxSizer( wxHORIZONTAL ); if (!is_pda) staticsizer->Add( new wxStaticText( this, wxID_ANY, _("Current directory:") ), 0, wxRIGHT, 10 ); m_static = new wxStaticText( this, wxID_ANY, m_dir ); staticsizer->Add( m_static, 1 ); mainsizer->Add( staticsizer, 0, wxEXPAND | wxLEFT|wxRIGHT|wxBOTTOM, 10 ); long style2 = ms_lastViewStyle; if ( !(m_dialogStyle & wxFD_MULTIPLE) ) style2 |= wxLC_SINGLE_SEL; #ifdef __WXWINCE__ style2 |= wxSIMPLE_BORDER; #else style2 |= wxSUNKEN_BORDER; #endif wxSize list_size(500,240); if (is_pda) list_size = wxSize(50,80); m_list = new FileCtrl( this, ID_LIST_CTRL, wxEmptyString, ms_lastShowHidden, wxDefaultPosition, list_size, style2); if (is_pda) { // PDAs have a different screen layout mainsizer->Add( m_list, 1, wxEXPAND|wxSHRINK | wxLEFT|wxRIGHT, 5 ); wxBoxSizer *textsizer = new wxBoxSizer( wxHORIZONTAL ); m_text = new wxTextCtrl( this, ID_TEXT, m_fileName, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); textsizer->Add( m_text, 1, wxCENTER | wxALL, 5 ); mainsizer->Add( textsizer, 0, wxEXPAND ); m_check = NULL; m_choice = new wxChoice( this, ID_CHOICE ); textsizer->Add( m_choice, 1, wxCENTER|wxALL, 5 ); buttonsizer = new wxBoxSizer( wxHORIZONTAL ); buttonsizer->Add( new wxButton( this, wxID_OK ), 0, wxCENTER | wxALL, 5 ); buttonsizer->Add( new wxButton( this, wxID_CANCEL ), 0, wxCENTER | wxALL, 5 ); mainsizer->Add( buttonsizer, 0, wxALIGN_RIGHT ); } else { mainsizer->Add( m_list, 1, wxEXPAND | wxLEFT|wxRIGHT, 10 ); wxBoxSizer *textsizer = new wxBoxSizer( wxHORIZONTAL ); m_text = new wxTextCtrl( this, ID_TEXT, m_fileName, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); textsizer->Add( m_text, 1, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 ); textsizer->Add( new wxButton( this, wxID_OK ), 0, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 ); mainsizer->Add( textsizer, 0, wxEXPAND ); m_choicesizer = new wxBoxSizer( wxHORIZONTAL ); m_choice = new wxChoice( this, ID_CHOICE ); m_choicesizer->Add( m_choice, 1, wxCENTER|wxALL, 10 ); m_check = new wxCheckBox( this, ID_CHECK, _("Show hidden files") ); m_check->SetValue( ms_lastShowHidden ); m_choicesizer->Add( m_check, 0, wxCENTER|wxALL, 10 ); m_choicesizer->Add( new wxButton( this, wxID_CANCEL ), 0, wxCENTER | wxALL, 10 ); mainsizer->Add( m_choicesizer, 0, wxEXPAND ); } SetWildcard(wildCard); SetAutoLayout( true ); SetSizer( mainsizer ); if (!is_pda) { mainsizer->Fit( this ); mainsizer->SetSizeHints( this ); Centre( wxBOTH ); } m_text->SetFocus(); ignoreChanges = false; return true; }
WebFrame::WebFrame(const wxString& url) : wxFrame(NULL, wxID_ANY, "wxWebView Sample") { // set the frame icon SetIcon(wxICON(sample)); SetTitle("wxWebView Sample"); wxBoxSizer* topsizer = new wxBoxSizer(wxVERTICAL); // Create the toolbar m_toolbar = CreateToolBar(wxTB_TEXT); m_toolbar->SetToolBitmapSize(wxSize(32, 32)); wxBitmap back = wxArtProvider::GetBitmap(wxART_GO_BACK , wxART_TOOLBAR); wxBitmap forward = wxArtProvider::GetBitmap(wxART_GO_FORWARD , wxART_TOOLBAR); #ifdef __WXGTK__ wxBitmap stop = wxArtProvider::GetBitmap("gtk-stop", wxART_TOOLBAR); #else wxBitmap stop = wxBitmap(stop_xpm); #endif #ifdef __WXGTK__ wxBitmap refresh = wxArtProvider::GetBitmap("gtk-refresh", wxART_TOOLBAR); #else wxBitmap refresh = wxBitmap(refresh_xpm); #endif m_toolbar_back = m_toolbar->AddTool(wxID_ANY, _("Back"), back); m_toolbar_forward = m_toolbar->AddTool(wxID_ANY, _("Forward"), forward); m_toolbar_stop = m_toolbar->AddTool(wxID_ANY, _("Stop"), stop); m_toolbar_reload = m_toolbar->AddTool(wxID_ANY, _("Reload"), refresh); m_url = new wxTextCtrl(m_toolbar, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(400, -1), wxTE_PROCESS_ENTER ); m_toolbar->AddControl(m_url, _("URL")); m_toolbar_tools = m_toolbar->AddTool(wxID_ANY, _("Menu"), wxBitmap(wxlogo_xpm)); m_toolbar->Realize(); // Set find values. m_findFlags = wxWEBVIEW_FIND_DEFAULT; m_findText = wxEmptyString; m_findCount = 0; // Create panel for find toolbar. wxPanel* panel = new wxPanel(this); topsizer->Add(panel, wxSizerFlags().Expand()); // Create sizer for panel. wxBoxSizer* panel_sizer = new wxBoxSizer(wxVERTICAL); panel->SetSizer(panel_sizer); // Create the find toolbar. m_find_toolbar = new wxToolBar(panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL|wxTB_TEXT|wxTB_HORZ_LAYOUT); m_find_toolbar->Hide(); panel_sizer->Add(m_find_toolbar, wxSizerFlags().Expand()); // Create find control. m_find_ctrl = new wxTextCtrl(m_find_toolbar, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(140,-1), wxTE_PROCESS_ENTER); //Find options menu wxMenu* findmenu = new wxMenu; m_find_toolbar_wrap = findmenu->AppendCheckItem(wxID_ANY,"Wrap"); m_find_toolbar_matchcase = findmenu->AppendCheckItem(wxID_ANY,"Match Case"); m_find_toolbar_wholeword = findmenu->AppendCheckItem(wxID_ANY,"Entire Word"); m_find_toolbar_highlight = findmenu->AppendCheckItem(wxID_ANY,"Highlight"); // Add find toolbar tools. m_find_toolbar->SetToolSeparation(7); m_find_toolbar_done = m_find_toolbar->AddTool(wxID_ANY, "Close", wxArtProvider::GetBitmap(wxART_CROSS_MARK)); m_find_toolbar->AddSeparator(); m_find_toolbar->AddControl(m_find_ctrl, "Find"); m_find_toolbar->AddSeparator(); m_find_toolbar_next = m_find_toolbar->AddTool(wxID_ANY, "Next", wxArtProvider::GetBitmap(wxART_GO_DOWN, wxART_TOOLBAR, wxSize(16,16))); m_find_toolbar_previous = m_find_toolbar->AddTool(wxID_ANY, "Previous", wxArtProvider::GetBitmap(wxART_GO_UP, wxART_TOOLBAR, wxSize(16,16))); m_find_toolbar->AddSeparator(); m_find_toolbar_options = m_find_toolbar->AddTool(wxID_ANY, "Options", wxArtProvider::GetBitmap(wxART_PLUS, wxART_TOOLBAR, wxSize(16,16)), "", wxITEM_DROPDOWN); m_find_toolbar_options->SetDropdownMenu(findmenu); m_find_toolbar->Realize(); // Create the info panel m_info = new wxInfoBar(this); topsizer->Add(m_info, wxSizerFlags().Expand()); // Create the webview m_browser = wxWebView::New(this, wxID_ANY, url); topsizer->Add(m_browser, wxSizerFlags().Expand().Proportion(1)); //We register the wxfs:// protocol for testing purposes m_browser->RegisterHandler(wxSharedPtr<wxWebViewHandler>(new wxWebViewArchiveHandler("wxfs"))); //And the memory: file system m_browser->RegisterHandler(wxSharedPtr<wxWebViewHandler>(new wxWebViewFSHandler("memory"))); SetSizer(topsizer); //Set a more sensible size for web browsing SetSize(wxSize(800, 600)); // Create a log window new wxLogWindow(this, _("Logging")); // Create the Tools menu m_tools_menu = new wxMenu(); wxMenuItem* print = m_tools_menu->Append(wxID_ANY , _("Print")); wxMenuItem* viewSource = m_tools_menu->Append(wxID_ANY , _("View Source")); m_tools_menu->AppendSeparator(); m_tools_layout = m_tools_menu->AppendCheckItem(wxID_ANY, _("Use Layout Zoom")); m_tools_tiny = m_tools_menu->AppendCheckItem(wxID_ANY, _("Tiny")); m_tools_small = m_tools_menu->AppendCheckItem(wxID_ANY, _("Small")); m_tools_medium = m_tools_menu->AppendCheckItem(wxID_ANY, _("Medium")); m_tools_large = m_tools_menu->AppendCheckItem(wxID_ANY, _("Large")); m_tools_largest = m_tools_menu->AppendCheckItem(wxID_ANY, _("Largest")); m_tools_menu->AppendSeparator(); m_tools_handle_navigation = m_tools_menu->AppendCheckItem(wxID_ANY, _("Handle Navigation")); m_tools_handle_new_window = m_tools_menu->AppendCheckItem(wxID_ANY, _("Handle New Windows")); m_tools_menu->AppendSeparator(); //Find m_find = m_tools_menu->Append(wxID_ANY, _("Find")); m_tools_menu->AppendSeparator(); //History menu m_tools_history_menu = new wxMenu(); wxMenuItem* clearhist = m_tools_history_menu->Append(wxID_ANY, _("Clear History")); m_tools_enable_history = m_tools_history_menu->AppendCheckItem(wxID_ANY, _("Enable History")); m_tools_history_menu->AppendSeparator(); m_tools_menu->AppendSubMenu(m_tools_history_menu, "History"); //Create an editing menu wxMenu* editmenu = new wxMenu(); m_edit_cut = editmenu->Append(wxID_ANY, _("Cut")); m_edit_copy = editmenu->Append(wxID_ANY, _("Copy")); m_edit_paste = editmenu->Append(wxID_ANY, _("Paste")); editmenu->AppendSeparator(); m_edit_undo = editmenu->Append(wxID_ANY, _("Undo")); m_edit_redo = editmenu->Append(wxID_ANY, _("Redo")); editmenu->AppendSeparator(); m_edit_mode = editmenu->AppendCheckItem(wxID_ANY, _("Edit Mode")); m_tools_menu->AppendSeparator(); m_tools_menu->AppendSubMenu(editmenu, "Edit"); wxMenu* scroll_menu = new wxMenu; m_scroll_line_up = scroll_menu->Append(wxID_ANY, "Line &up"); m_scroll_line_down = scroll_menu->Append(wxID_ANY, "Line &down"); m_scroll_page_up = scroll_menu->Append(wxID_ANY, "Page u&p"); m_scroll_page_down = scroll_menu->Append(wxID_ANY, "Page d&own"); m_tools_menu->AppendSubMenu(scroll_menu, "Scroll"); wxMenuItem* script = m_tools_menu->Append(wxID_ANY, _("Run Script")); //Selection menu wxMenu* selection = new wxMenu(); m_selection_clear = selection->Append(wxID_ANY, _("Clear Selection")); m_selection_delete = selection->Append(wxID_ANY, _("Delete Selection")); wxMenuItem* selectall = selection->Append(wxID_ANY, _("Select All")); editmenu->AppendSubMenu(selection, "Selection"); wxMenuItem* loadscheme = m_tools_menu->Append(wxID_ANY, _("Custom Scheme Example")); wxMenuItem* usememoryfs = m_tools_menu->Append(wxID_ANY, _("Memory File System Example")); m_context_menu = m_tools_menu->AppendCheckItem(wxID_ANY, _("Enable Context Menu")); //By default we want to handle navigation and new windows m_tools_handle_navigation->Check(); m_tools_handle_new_window->Check(); m_tools_enable_history->Check(); if(!m_browser->CanSetZoomType(wxWEBVIEW_ZOOM_TYPE_LAYOUT)) m_tools_layout->Enable(false); // Connect the toolbar events Connect(m_toolbar_back->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnBack), NULL, this ); Connect(m_toolbar_forward->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnForward), NULL, this ); Connect(m_toolbar_stop->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnStop), NULL, this ); Connect(m_toolbar_reload->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnReload),NULL, this ); Connect(m_toolbar_tools->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnToolsClicked), NULL, this ); Connect(m_url->GetId(), wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(WebFrame::OnUrl), NULL, this ); // Connect find toolbar events. Connect(m_find_toolbar_done->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnFindDone), NULL, this ); Connect(m_find_toolbar_next->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnFindText), NULL, this ); Connect(m_find_toolbar_previous->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnFindText), NULL, this ); // Connect find control events. Connect(m_find_ctrl->GetId(), wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(WebFrame::OnFindText), NULL, this ); Connect(m_find_ctrl->GetId(), wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(WebFrame::OnFindText), NULL, this ); // Connect the webview events Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_NAVIGATING, wxWebViewEventHandler(WebFrame::OnNavigationRequest), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_NAVIGATED, wxWebViewEventHandler(WebFrame::OnNavigationComplete), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_LOADED, wxWebViewEventHandler(WebFrame::OnDocumentLoaded), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_ERROR, wxWebViewEventHandler(WebFrame::OnError), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_NEWWINDOW, wxWebViewEventHandler(WebFrame::OnNewWindow), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_TITLE_CHANGED, wxWebViewEventHandler(WebFrame::OnTitleChanged), NULL, this); // Connect the menu events Connect(viewSource->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnViewSourceRequest), NULL, this ); Connect(print->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnPrint), NULL, this ); Connect(m_tools_layout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnZoomLayout), NULL, this ); Connect(m_tools_tiny->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_small->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_medium->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_large->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_largest->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(clearhist->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnClearHistory), NULL, this ); Connect(m_tools_enable_history->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnEnableHistory), NULL, this ); Connect(m_edit_cut->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnCut), NULL, this ); Connect(m_edit_copy->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnCopy), NULL, this ); Connect(m_edit_paste->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnPaste), NULL, this ); Connect(m_edit_undo->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnUndo), NULL, this ); Connect(m_edit_redo->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnRedo), NULL, this ); Connect(m_edit_mode->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnMode), NULL, this ); Connect(m_scroll_line_up->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollLineUp), NULL, this ); Connect(m_scroll_line_down->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollLineDown), NULL, this ); Connect(m_scroll_page_up->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollPageUp), NULL, this ); Connect(m_scroll_page_down->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollPageDown), NULL, this ); Connect(script->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnRunScript), NULL, this ); Connect(m_selection_clear->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnClearSelection), NULL, this ); Connect(m_selection_delete->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnDeleteSelection), NULL, this ); Connect(selectall->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSelectAll), NULL, this ); Connect(loadscheme->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnLoadScheme), NULL, this ); Connect(usememoryfs->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnUseMemoryFS), NULL, this ); Connect(m_find->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnFind), NULL, this ); Connect(m_context_menu->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnEnableContextMenu), NULL, this ); //Connect the idle events Connect(wxID_ANY, wxEVT_IDLE, wxIdleEventHandler(WebFrame::OnIdle), NULL, this); }
void DIALOG_COLOR_CONFIG::CreateControls() { wxStaticText* label; int color; int buttonId = 1800; ButtonIndex* groups = buttonGroups; OuterBoxSizer = new wxBoxSizer( wxVERTICAL ); SetSizer( OuterBoxSizer ); MainBoxSizer = new wxBoxSizer( wxHORIZONTAL ); OuterBoxSizer->Add( MainBoxSizer, 1, wxGROW | wxLEFT | wxRIGHT, 5 ); while( groups->m_Buttons != NULL ) { ColorButton* buttons = groups->m_Buttons; ColumnBoxSizer = new wxBoxSizer( wxVERTICAL ); MainBoxSizer->Add( ColumnBoxSizer, 1, wxALIGN_TOP | wxLEFT | wxTOP, 5 ); RowBoxSizer = new wxBoxSizer( wxHORIZONTAL ); ColumnBoxSizer->Add( RowBoxSizer, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 ); // Add a text string to identify the column of color select buttons. label = new wxStaticText( this, wxID_ANY, groups->m_Name ); // Make the column label font bold. wxFont font( label->GetFont() ); font.SetWeight( wxFONTWEIGHT_BOLD ); label->SetFont( font ); RowBoxSizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 ); while( buttons->m_Layer >= 0 ) { RowBoxSizer = new wxBoxSizer( wxHORIZONTAL ); ColumnBoxSizer->Add( RowBoxSizer, 0, wxGROW | wxALL, 0 ); wxMemoryDC iconDC; wxBitmap bitmap( BUTT_SIZE_X, BUTT_SIZE_Y ); iconDC.SelectObject( bitmap ); color = currentColors[ buttons->m_Layer ] = ReturnLayerColor( buttons->m_Layer ); iconDC.SetPen( *wxBLACK_PEN ); wxBrush brush; brush.SetColour( ColorRefs[ color ].m_Red, ColorRefs[ color ].m_Green, ColorRefs[ color ].m_Blue ); brush.SetStyle( wxSOLID ); iconDC.SetBrush( brush ); iconDC.DrawRectangle( 0, 0, BUTT_SIZE_X, BUTT_SIZE_Y ); BitmapButton = new wxBitmapButton( this, buttonId, bitmap, wxDefaultPosition, wxSize( BUTT_SIZE_X+8, BUTT_SIZE_Y+6 ) ); BitmapButton->SetClientData( (void*) buttons ); RowBoxSizer->Add( BitmapButton, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT | wxBOTTOM, 5 ); label = new wxStaticText( this, wxID_ANY, wxGetTranslation( buttons->m_Name ) ); RowBoxSizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxRIGHT | wxBOTTOM, 5 ); buttonId += 1; buttons++; } groups++; } Connect( 1800, buttonId - 1, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_COLOR_CONFIG::SetColor ) ); // Add a spacer to improve appearance. ColumnBoxSizer->AddSpacer( 5 ); wxArrayString m_SelBgColorStrings; m_SelBgColorStrings.Add( _( "White" ) ); m_SelBgColorStrings.Add( _( "Black" ) ); m_SelBgColor = new wxRadioBox( this, wxID_ANY, _( "Background Color" ), wxDefaultPosition, wxDefaultSize, m_SelBgColorStrings, 1, wxRA_SPECIFY_COLS ); m_SelBgColor->SetSelection( ( g_DrawBgColor == BLACK ) ? 1 : 0 ); ColumnBoxSizer->Add( m_SelBgColor, 1, wxGROW | wxRIGHT | wxTOP | wxBOTTOM, 5 ); // Provide a line to separate all of the controls added so far from the // "OK", "Cancel", and "Apply" buttons (which will be added after that // line). Line = new wxStaticLine( this, -1, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); OuterBoxSizer->Add( Line, 0, wxGROW | wxALL, 5 ); // Provide a StdDialogButtonSizer to accommodate the OK, Cancel, and Apply // buttons; using that type of sizer results in those buttons being // automatically located in positions appropriate for each (OS) version of // KiCad. StdDialogButtonSizer = new wxStdDialogButtonSizer; OuterBoxSizer->Add( StdDialogButtonSizer, 0, wxGROW | wxALL, 10 ); Button = new wxButton( this, wxID_OK, _( "OK" ), wxDefaultPosition, wxDefaultSize, 0 ); StdDialogButtonSizer->AddButton( Button ); Button = new wxButton( this, wxID_CANCEL, _( "Cancel" ), wxDefaultPosition, wxDefaultSize, 0 ); StdDialogButtonSizer->AddButton( Button ); Button->SetFocus(); Button = new wxButton( this, wxID_APPLY, _( "Apply" ), wxDefaultPosition, wxDefaultSize, 0 ); StdDialogButtonSizer->AddButton( Button ); Connect( wxID_OK, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_COLOR_CONFIG::OnOkClick ) ); Connect( wxID_CANCEL, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_COLOR_CONFIG::OnCancelClick ) ); Connect( wxID_APPLY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_COLOR_CONFIG::OnApplyClick ) ); StdDialogButtonSizer->Realize(); // Dialog now needs to be resized, but the associated command is found elsewhere. }
ObjectBottomBar::ObjectBottomBar( wxWindow* parent, ScenarioEditor& scenarioEditor, Observable<ObjectSettings>& objectSettings, Observable<AtObj>& mapSettings, ObjectSidebarImpl* p ) : wxPanel(parent, wxID_ANY), p(p), m_ScenarioEditor(scenarioEditor) { m_ViewerWireframe = false; m_ViewerMove = false; m_ViewerGround = true; m_ViewerShadows = true; m_ViewerPolyCount = false; m_ViewerBoundingBox = false; m_ViewerAxesMarker = false; m_ViewerPropPointsMode = 0; wxSizer* mainSizer = new wxBoxSizer(wxHORIZONTAL); // --- viewer options panel ------------------------------------------------------------------------------- m_ViewerPanel = new wxPanel(this, wxID_ANY); wxSizer* viewerSizer = new wxBoxSizer(wxHORIZONTAL); wxSizer* viewerButtonsSizer = new wxStaticBoxSizer(wxHORIZONTAL, m_ViewerPanel, _("Display settings")); { wxSizer* viewerButtonsLeft = new wxBoxSizer(wxVERTICAL); viewerButtonsLeft->SetMinSize(110, -1); viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerWireframe, _("Wireframe")), _("Toggle wireframe / solid rendering")), wxSizerFlags().Expand()); viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerMove, _("Move")), _("Toggle movement along ground when playing walk/run animations")), wxSizerFlags().Expand()); viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerGround, _("Ground")), _("Toggle the ground plane")), wxSizerFlags().Expand()); viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerShadows, _("Shadows")), _("Toggle shadow rendering")), wxSizerFlags().Expand()); viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerPolyCount, _("Poly count")), _("Toggle polygon-count statistics - turn off ground and shadows for more useful data")), wxSizerFlags().Expand()); viewerButtonsLeft->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerBoundingBox, _("Bounding Boxes")), _("Toggle bounding boxes")), wxSizerFlags().Expand()); wxSizer* viewerButtonsRight = new wxBoxSizer(wxVERTICAL); viewerButtonsRight->SetMinSize(110,-1); viewerButtonsRight->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerAxesMarker, _("Axes Marker")), _("Toggle the axes marker (R=X, G=Y, B=Z)")), wxSizerFlags().Expand()); viewerButtonsRight->Add(Tooltipped(new wxButton(m_ViewerPanel, ID_ViewerPropPoints, _("Prop Points")), _("Toggle prop points (works best in wireframe mode)")), wxSizerFlags().Expand()); viewerButtonsSizer->Add(viewerButtonsLeft, wxSizerFlags().Expand()); viewerButtonsSizer->Add(viewerButtonsRight, wxSizerFlags().Expand()); } viewerSizer->Add(viewerButtonsSizer, wxSizerFlags().Expand()); viewerSizer->AddSpacer(3); // --- animations panel ------------------------------------------------------------------------------- wxSizer* viewerAnimSizer = new wxStaticBoxSizer(wxVERTICAL, m_ViewerPanel, _("Animation")); // TODO: this list should come from the actor wxArrayString animChoices; AtObj anims (Datafile::ReadList("animations")); for (AtIter a = anims["item"]; a.defined(); ++a) { animChoices.Add(wxString(*a)); } wxChoice* viewerAnimSelector = new wxChoice(m_ViewerPanel, ID_ViewerAnimation, wxDefaultPosition, wxDefaultSize, animChoices); viewerAnimSelector->SetSelection(0); viewerAnimSizer->Add(viewerAnimSelector, wxSizerFlags().Expand()); wxSizer* viewerAnimSpeedSizer = new wxBoxSizer(wxHORIZONTAL); viewerAnimSpeedSizer->Add(new wxButton(m_ViewerPanel, ID_ViewerPlay, _("Play"), wxDefaultPosition, wxSize(50, -1)), wxSizerFlags().Expand()); viewerAnimSpeedSizer->Add(new wxButton(m_ViewerPanel, ID_ViewerPause, _("Pause"), wxDefaultPosition, wxSize(50, -1)), wxSizerFlags().Expand()); viewerAnimSpeedSizer->Add(new wxButton(m_ViewerPanel, ID_ViewerSlow, _("Slow"), wxDefaultPosition, wxSize(50, -1)), wxSizerFlags().Expand()); viewerAnimSizer->Add(viewerAnimSpeedSizer); viewerSizer->Add(viewerAnimSizer, wxSizerFlags().Expand()); // --- add viewer-specific options ------------------------------------------------------------------------------- m_ViewerPanel->SetSizer(viewerSizer); mainSizer->Add(m_ViewerPanel, wxSizerFlags().Expand()); m_ViewerPanel->Layout(); // prevents strange visibility glitch of the animation buttons on my machine (Vista 32-bit SP1) -- vtsj m_ViewerPanel->Show(false); // --- add player/variation selection ------------------------------------------------------------------------------- wxSizer* playerSelectionSizer = new wxBoxSizer(wxHORIZONTAL); wxSizer* playerVariationSizer = new wxBoxSizer(wxVERTICAL); // TODO: make this a wxChoice instead wxComboBox* playerSelect = new PlayerComboBox(this, objectSettings, mapSettings); playerSelectionSizer->Add(new wxStaticText(this, wxID_ANY, _("Player:")), wxSizerFlags().Align(wxALIGN_CENTER)); playerSelectionSizer->AddSpacer(3); playerSelectionSizer->Add(playerSelect); playerVariationSizer->Add(playerSelectionSizer); playerVariationSizer->AddSpacer(3); wxWindow* variationSelect = new VariationControl(this, objectSettings); variationSelect->SetMinSize(wxSize(160, -1)); wxSizer* variationSizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Variation")); variationSizer->Add(variationSelect, wxSizerFlags().Proportion(1).Expand()); playerVariationSizer->Add(variationSizer, wxSizerFlags().Proportion(1)); mainSizer->AddSpacer(3); mainSizer->Add(playerVariationSizer, wxSizerFlags().Expand()); // ---------------------------------------------------------------------------------- SetSizer(mainSizer); }
QualityPrefs::QualityPrefs(wxWindow * parent): PrefsPanel(parent) { int i; int rate = gPrefs->Read("/SamplingRate/DefaultProjectSampleRate", 44100); int format = gPrefs->Read("/SamplingRate/DefaultProjectSampleFormat", 0x0004000F); int pos = NUM_RATES; // Fall back to other for (i = 0; i < NUM_RATES; i++) if (rate == rates[i]) { pos = i; break; } int fmtpos = NUM_FORMATS-1; for (i = 0; i < NUM_FORMATS; i++) if (format == formats[i]) { fmtpos = i; break; } topSizer = new wxBoxSizer( wxHORIZONTAL ); { topSizer->Add( new wxStaticText(this, -1, _("Default Sample Rate:")), 0, wxALIGN_LEFT|wxALL|wxALIGN_CENTER_VERTICAL, GENERIC_CONTROL_BORDER); mSampleRates = new wxChoice(this, ID_SAMPLE_RATE_CHOICE, wxDefaultPosition, wxDefaultSize, NUM_RATES+1, stringRates); mSampleRates->SetSelection(pos); topSizer->Add( mSampleRates, 0, wxALL|wxALIGN_CENTER_VERTICAL, TOP_LEVEL_BORDER ); mOtherSampleRate = NULL; mOtherSampleRate = new wxTextCtrl( this, -1, wxString::Format("%i", rate), wxDefaultPosition, wxSize(50, -1), 0 ); mOtherSampleRate->Enable(pos == NUM_RATES); topSizer->Add( mOtherSampleRate, 0, wxALL|wxALIGN_CENTER_VERTICAL, TOP_LEVEL_BORDER ); } wxBoxSizer *top2Sizer = new wxBoxSizer( wxHORIZONTAL ); { top2Sizer->Add( new wxStaticText(this, -1, _("Default Sample Format:")), 0, wxALIGN_LEFT|wxALL|wxALIGN_CENTER_VERTICAL, GENERIC_CONTROL_BORDER); mSampleFormats = new wxChoice(this, -1, wxDefaultPosition, wxDefaultSize, NUM_FORMATS, stringFormats); mSampleFormats->SetSelection(fmtpos); top2Sizer->Add( mSampleFormats, 0, wxALL|wxALIGN_CENTER_VERTICAL, TOP_LEVEL_BORDER ); } outSizer = new wxBoxSizer( wxVERTICAL ); outSizer->Add(topSizer, 0, wxGROW|wxALL, TOP_LEVEL_BORDER); outSizer->Add(top2Sizer, 0, wxGROW|wxALL, TOP_LEVEL_BORDER); SetAutoLayout(true); outSizer->Fit(this); outSizer->SetSizeHints(this); SetSizer(outSizer); }
void HTMLButcherMaskAreaListDialog::CreateControls() { wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer *boxsizer = new wxBoxSizer(wxVERTICAL); topsizer->Add(boxsizer, 1, wxEXPAND|wxALL, 3); // BODY wxBoxSizer *bodysizer = new wxBoxSizer(wxHORIZONTAL); boxsizer->Add(bodysizer, 1, wxEXPAND|wxALL, 3); // FIELDS wxBoxSizer *fieldssizer = new wxBoxSizer(wxVERTICAL); bodysizer->Add(fieldssizer, 0, wxEXPAND|wxALL, 3); // AREA LIST wxTreeCtrl *arealistctrl = new wxTreeCtrl(this, ID_AREALIST, wxDefaultPosition, wxSize(250, -1), wxTR_DEFAULT_STYLE); arealistctrl->SetToolTip(_("Right-click for area menu")); arealistctrl->Connect(ID_AREALIST, wxEVT_RIGHT_DOWN, wxMouseEventHandler(HTMLButcherMaskAreaListDialog::OnAreaMenu), NULL, this); fieldssizer->Add(arealistctrl, 1, wxEXPAND|wxALL, 3); // PREVIEW wxBoxSizer *previewsizer = new wxBoxSizer(wxVERTICAL); bodysizer->Add(previewsizer, 1, wxEXPAND, 3); // preview image previewctrl_ = new ButcherControl_ProjectImageView(this, ID_PREVIEW, wxDefaultPosition, wxSize(400, 350)); previewsizer->Add(previewctrl_, 1, wxEXPAND|wxALL, 3); // divider line wxStaticLine *line = new wxStaticLine(this, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL); boxsizer->Add(line, 0, wxGROW|wxALL, 3); wxBoxSizer *buttonsizer = new wxBoxSizer(wxHORIZONTAL); boxsizer->Add(buttonsizer, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3); // ok button wxButton* ok = new wxButton ( this, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 ); buttonsizer->Add(ok, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3); // cancel button wxButton* cancel = new wxButton ( this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); buttonsizer->Add(cancel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3); #ifdef BUTCHER_USE_HELP // help button wxButton* help = new wxButton ( this, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0 ); buttonsizer->Add(help, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3); #endif // validators SetSizer(topsizer); topsizer->SetSizeHints(this); CentreOnScreen(); }
/////////////// // Constructor DialogProperties::DialogProperties (wxWindow *parent, VideoDisplay *_vid) : wxDialog(parent, -1, _("Script Properties"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE) { // Setup vid = _vid; AssFile *subs = AssFile::top; // Script details crap wxStaticText *TitleLabel = new wxStaticText(this,-1,_("Title:")); TitleEdit = new wxTextCtrl(this,-1,subs->GetScriptInfo(_T("Title")),wxDefaultPosition,wxSize(200,20)); wxStaticText *OrigScriptLabel = new wxStaticText(this,-1,_("Original script:")); OrigScriptEdit = new wxTextCtrl(this,-1,subs->GetScriptInfo(_T("Original Script")),wxDefaultPosition,wxSize(200,20)); wxStaticText *TranslationLabel = new wxStaticText(this,-1,_("Translation:")); TranslationEdit = new wxTextCtrl(this,-1,subs->GetScriptInfo(_T("Original Translation")),wxDefaultPosition,wxSize(200,20)); wxStaticText *EditingLabel = new wxStaticText(this,-1,_("Editing:")); EditingEdit = new wxTextCtrl(this,-1,subs->GetScriptInfo(_T("Original Editing")),wxDefaultPosition,wxSize(200,20)); wxStaticText *TimingLabel = new wxStaticText(this,-1,_("Timing:")); TimingEdit = new wxTextCtrl(this,-1,subs->GetScriptInfo(_T("Original Timing")),wxDefaultPosition,wxSize(200,20)); wxStaticText *SyncLabel = new wxStaticText(this,-1,_("Synch point:")); SyncEdit = new wxTextCtrl(this,-1,subs->GetScriptInfo(_T("Synch Point")),wxDefaultPosition,wxSize(200,20)); wxStaticText *UpdatedLabel = new wxStaticText(this,-1,_("Updated by:")); UpdatedEdit = new wxTextCtrl(this,-1,subs->GetScriptInfo(_T("Script Updated By")),wxDefaultPosition,wxSize(200,20)); wxStaticText *UpdateDetailsLabel = new wxStaticText(this,-1,_("Update details:")); UpdateDetailsEdit = new wxTextCtrl(this,-1,subs->GetScriptInfo(_T("Update Details")),wxDefaultPosition,wxSize(200,20)); wxSizer *TopSizer = new wxStaticBoxSizer(wxHORIZONTAL,this,_("Script")); wxSizer *TopSizerGrid = new wxFlexGridSizer(0,2,5,5); TopSizerGrid->Add(TitleLabel,0,wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL,0); TopSizerGrid->Add(TitleEdit,1,0,0); TopSizerGrid->Add(OrigScriptLabel,0,wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL,0); TopSizerGrid->Add(OrigScriptEdit,1,0,0); TopSizerGrid->Add(TranslationLabel,0,wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL,0); TopSizerGrid->Add(TranslationEdit,1,0,0); TopSizerGrid->Add(EditingLabel,0,wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL,0); TopSizerGrid->Add(EditingEdit,1,0,0); TopSizerGrid->Add(TimingLabel,0,wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL,0); TopSizerGrid->Add(TimingEdit,1,0,0); TopSizerGrid->Add(SyncLabel,0,wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL,0); TopSizerGrid->Add(SyncEdit,1,0,0); TopSizerGrid->Add(UpdatedLabel,0,wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL,0); TopSizerGrid->Add(UpdatedEdit,1,0,0); TopSizerGrid->Add(UpdateDetailsLabel,0,wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL,0); TopSizerGrid->Add(UpdateDetailsEdit,1,0,0); TopSizer->Add(TopSizerGrid,0,wxALL,0); // Resolution box wxSizer *ResSizer = new wxStaticBoxSizer(wxHORIZONTAL,this,_("Resolution")); ResXValue = subs->GetScriptInfo(_T("PlayResX")); ResYValue = subs->GetScriptInfo(_T("PlayResY")); ResX = new wxTextCtrl(this,-1,_T(""),wxDefaultPosition,wxSize(50,20),0,NumValidator(&ResXValue)); ResY = new wxTextCtrl(this,-1,_T(""),wxDefaultPosition,wxSize(50,20),0,NumValidator(&ResYValue)); wxStaticText *ResText = new wxStaticText(this,-1,_T("x")); wxButton *FromVideo = new wxButton(this,BUTTON_FROM_VIDEO,_("From video")); if (!vid->loaded) FromVideo->Enable(false); ResSizer->Add(ResX,1,wxRIGHT,5); ResSizer->Add(ResText,0,wxALIGN_CENTER | wxRIGHT,5); ResSizer->Add(ResY,1,wxRIGHT,5); ResSizer->Add(FromVideo,1,0,0); // Wrap box wxSizer *WrapBox = new wxStaticBoxSizer(wxHORIZONTAL,this,_("Wrap style")); wxArrayString options; options.Add(_("0: Smart wrapping, top line is wider")); options.Add(_("1: End-of-line word wrapping, only \\N breaks")); options.Add(_("2: No word wrapping, both \\n and \\N break")); options.Add(_("3: Smart wrapping, bottom line is wider")); WrapStyle = new wxComboBox(this,-1,_T(""),wxDefaultPosition,wxDefaultSize,options,wxCB_READONLY); long n; subs->GetScriptInfo(_T("WrapStyle")).ToLong(&n); WrapStyle->SetSelection(n); WrapBox->Add(WrapStyle,1,0,0); // Button sizer wxButton *ButtonOK = new wxButton(this,wxID_OK); ButtonOK->SetDefault(); wxSizer *ButtonSizer = new wxBoxSizer(wxHORIZONTAL); ButtonSizer->AddStretchSpacer(1); ButtonSizer->Add(ButtonOK,0,0,0); // MainSizer wxSizer *MainSizer = new wxBoxSizer(wxVERTICAL); MainSizer->Add(TopSizer,0,wxLEFT | wxRIGHT | wxBOTTOM | wxEXPAND,5); MainSizer->Add(ResSizer,0,wxLEFT | wxRIGHT | wxBOTTOM | wxEXPAND,5); MainSizer->Add(WrapBox,0,wxLEFT | wxRIGHT | wxBOTTOM | wxEXPAND,5); MainSizer->Add(ButtonSizer,0,wxLEFT | wxRIGHT | wxBOTTOM | wxEXPAND,5); // Set sizer SetSizer(MainSizer); MainSizer->SetSizeHints(this); CenterOnParent(); }