示例#1
0
void GNC::GUI::AnonymizePanel::InitSeries(long pkSeries)
{
        GNC::GCS::HistoryController::LightFileModelList fileModels;
        GNC::GCS::HistoryController::Instance()->GetSeriesSortedFileModels(pkSeries, fileModels);

        GIL::DICOM::IDICOMManager*	pDICOMManager = GNC::GCS::IEntorno::Instance()->GetPACSController()->CrearInstanciaDeDICOMManager();
        pDICOMManager->CargarFichero(fileModels.front().real_path, m_base);
        SetTags(m_base, m_pTagsList->GetRoot(), pDICOMManager);
        GNC::Entorno::Instance()->GetPACSController()->LiberarInstanciaDeDICOMManager(pDICOMManager);

        MapOfCheck[GKDCM_PatientName] = m_pCheckNombrePaciente;
        MapOfCheck[GKDCM_PatientID] = m_pCheckIdPaciente;
        MapOfCheck[GKDCM_InstitutionName] = m_pCheckInstituciones;
        MapOfCheck[GKDCM_ReferringPhysicianName] = m_pReferringPhysician;
        MapOfCheck[GKDCM_StudyDescription] = m_pCheckComentarios;
        MapOfCheck[GKDCM_SeriesDescription] = m_pCheckComentarios;
        MapOfCheck[GKDCM_ImageComments] = m_pCheckComentarios;

        GNC::GCS::IConfigurationController::TListGroups groups;
        GNC::GCS::IConfigurationController::Instance()->readGroupUser("/Core/AnonymizationSelection", groups);
        for (GNC::GCS::IConfigurationController::TListGroups::iterator it = groups.begin(); it != groups.end(); ++it) {
                if ((*it).find("tag") != (*it).end() && (*it).find("value") != (*it).end()) {
                        Anonymize((*it)["tag"], true, (*it)["value"], false);
                }
        }

        m_pTagsList->Connect(wxEVT_PG_CHANGED,wxPropertyGridEventHandler(AnonymizePanel::OnPropertyChanged),NULL,this);
        m_pTagsList->Connect(wxEVT_PG_DOUBLE_CLICK,wxPropertyGridEventHandler(AnonymizePanel::OnPropertyDobleClick),NULL,this);
}
示例#2
0
文件: UI.cpp 项目: 292388900/codelite
LLDBSettingDialogBase::~LLDBSettingDialogBase()
{
    m_pgMgrDisplayProperties->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(LLDBSettingDialogBase::OnGeneralValueChanged), NULL, this);
    m_pgMgrAdvanced->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(LLDBSettingDialogBase::OnAdvancedValueChanged), NULL, this);
    m_button83->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(LLDBSettingDialogBase::OnOKUI), NULL, this);
    m_button175->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(LLDBSettingDialogBase::OnApply), NULL, this);
    m_button175->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(LLDBSettingDialogBase::OnOKUI), NULL, this);
    
}
示例#3
0
SelectionPanel::~SelectionPanel()
{
  Disconnect( refresh_timer_->GetId(), wxEVT_TIMER, wxTimerEventHandler( SelectionPanel::onUpdate ), NULL, this );
  refresh_timer_->Stop();
  delete refresh_timer_;

  delete property_manager_;

  property_grid_->Disconnect( wxEVT_PG_CHANGING, wxPropertyGridEventHandler( SelectionPanel::onPropertyChanging ), NULL, this );
  property_grid_->Disconnect( wxEVT_PG_CHANGED, wxPropertyGridEventHandler( SelectionPanel::onPropertyChanged ), NULL, this );
  property_grid_->Disconnect( wxEVT_PG_SELECTED, wxPropertyGridEventHandler( SelectionPanel::onPropertySelected ), NULL, this );
  property_grid_->Destroy();
}
CodeFormatterBaseDlg::~CodeFormatterBaseDlg()
{
    m_checkBoxFormatOnSave->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(CodeFormatterBaseDlg::OnFormatOnSave), NULL, this);
    m_choiceCxxEngine->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(CodeFormatterBaseDlg::OnChoicecxxengineChoiceSelected), NULL, this);
    m_pgMgrAstyle->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CodeFormatterBaseDlg::OnPgmgrastylePgChanged), NULL, this);
    m_textCtrlUserFlags->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CodeFormatterBaseDlg::OnCustomAstyleFlags), NULL, this);
    m_pgMgrClang->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CodeFormatterBaseDlg::OnPgmgrclangPgChanged), NULL, this);
    m_pgMgrPhp->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CodeFormatterBaseDlg::OnPgmgrphpPgChanged), NULL, this);
    m_buttonOK->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CodeFormatterBaseDlg::OnOK), NULL, this);
    m_buttonApply->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CodeFormatterBaseDlg::OnApplyUI), NULL, this);
    m_buttonApply->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CodeFormatterBaseDlg::OnApply), NULL, this);
    m_buttonHelp->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CodeFormatterBaseDlg::OnHelp), NULL, this);
    
}
示例#5
0
WebToolsSettingsBase::~WebToolsSettingsBase()
{
    m_pgMgr->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(WebToolsSettingsBase::OnJSValueChanged), NULL, this);
    m_buttonOK->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WebToolsSettingsBase::OnOKUI), NULL, this);
    m_buttonOK->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(WebToolsSettingsBase::OnOK), NULL, this);
    
}
CEditCameraWnd::~CEditCameraWnd()
{
    this->Disconnect(wxEVT_CLOSE_WINDOW, wxCloseEventHandler(CEditCameraWnd::OnClose), NULL, this);
    m_pPropertyGrid->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CEditCameraWnd::OnPropertyChanged), NULL, this);
    m_pSaveAsSceneInitBtn->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CEditCameraWnd::OnSaveAsSceneInitClicked), NULL, this);
    m_pLoadSceneInitBtn->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CEditCameraWnd::OnLoadSceneInitClicked), NULL, this);
}
示例#7
0
HelpPluginSettingsDlgBase::~HelpPluginSettingsDlgBase()
{
    m_pgMgr34->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(HelpPluginSettingsDlgBase::OnDocsetChanged), NULL, this);
    m_button30->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(HelpPluginSettingsDlgBase::OnOKUI), NULL, this);
    m_button30->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(HelpPluginSettingsDlgBase::OnOK), NULL, this);
    
}
示例#8
0
WebToolsSettingsBase::~WebToolsSettingsBase()
{
    m_checkBoxEnableJsCC->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
                                     wxCommandEventHandler(WebToolsSettingsBase::OnModified), NULL, this);
    m_checkBoxEnableXmlCC->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
                                      wxCommandEventHandler(WebToolsSettingsBase::OnModified), NULL, this);
    m_checkBoxEnableHtmlCC->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
                                       wxCommandEventHandler(WebToolsSettingsBase::OnModified), NULL, this);
    m_pgMgr->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(WebToolsSettingsBase::OnJSValueChanged), NULL,
                        this);
    m_filePickerNodeJS->Disconnect(wxEVT_COMMAND_FILEPICKER_CHANGED,
                                   wxFileDirPickerEventHandler(WebToolsSettingsBase::OnNodejsPath), NULL, this);
    m_button361->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED,
                            wxCommandEventHandler(WebToolsSettingsBase::OnSuggestNodeJSPaths), NULL, this);
    m_filePickerNpm->Disconnect(wxEVT_COMMAND_FILEPICKER_CHANGED,
                                wxFileDirPickerEventHandler(WebToolsSettingsBase::OnNpmPath), NULL, this);
    m_button363->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED,
                            wxCommandEventHandler(WebToolsSettingsBase::OnSuggestNodeJSPaths), NULL, this);
    m_checkBoxJSLint->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
                                 wxCommandEventHandler(WebToolsSettingsBase::OnLintOnSave), NULL, this);
    m_buttonOK->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WebToolsSettingsBase::OnOKUI), NULL, this);
    m_buttonOK->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(WebToolsSettingsBase::OnOK), NULL, this);
    m_buttonApply->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(WebToolsSettingsBase::OnApply), NULL,
                              this);
    m_buttonApply->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WebToolsSettingsBase::OnOKUI), NULL, this);
}
示例#9
0
BaseFrame::~BaseFrame()
{
	// Disconnect Events
	this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( BaseFrame::OnIdle ) );
	m_propertyPlanet->Disconnect( wxEVT_PG_CHANGED, wxPropertyGridEventHandler( BaseFrame::OnPropertyChanged ), NULL, this );

	m_mgr.UnInit();

}
示例#10
0
CodeFormatterBaseDlg::~CodeFormatterBaseDlg()
{
    m_pgMgr->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CodeFormatterBaseDlg::OnAStylePropertyChanged), NULL, this);
    m_textCtrlUserFlags->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CodeFormatterBaseDlg::OnCustomAstyleFlags), NULL, this);
    m_buttonOK->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CodeFormatterBaseDlg::OnOK), NULL, this);
    m_buttonApply->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CodeFormatterBaseDlg::OnApplyUI), NULL, this);
    m_buttonApply->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CodeFormatterBaseDlg::OnApply), NULL, this);
    m_buttonHelp->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CodeFormatterBaseDlg::OnHelp), NULL, this);
    
}
示例#11
0
StorageEditorPanelBase::~StorageEditorPanelBase()
{
	// Disconnect Events
	m_artifacts->Disconnect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( StorageEditorPanelBase::artifactsOnDataViewCtrlSelectionChanged ), NULL, this );
	m_artifactEnchantments->Disconnect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( StorageEditorPanelBase::artifactEnchantmentsOnDataViewCtrlSelectionChanged ), NULL, this );
	m_propertyManager->Disconnect( wxEVT_PG_CHANGED, wxPropertyGridEventHandler( StorageEditorPanelBase::propertyManagerOnPropertyGridChanged ), NULL, this );
	
	m_mgr.UnInit();
	
}
示例#12
0
Properties::Properties(wxWindow* parent) : wxPanel(parent)
{
	mGrid = new wxPropertyGrid(this, wxID_ANY, wxPoint(), wxSize(),
		wxPG_AUTO_SORT | wxPG_SPLITTER_AUTO_CENTER | wxPG_DEFAULT_STYLE);
	mGrid->Connect(wxEVT_PG_CHANGING,
		wxPropertyGridEventHandler(Properties::onPropertyChanging), NULL, this);

	mSizer = new wxBoxSizer(wxHORIZONTAL);
	mSizer->Add(mGrid, 1, wxEXPAND);

	SetSizer(mSizer);
}
示例#13
0
SelectionPanel::SelectionPanel( wxWindow* parent )
: wxPanel( parent, wxID_ANY )
, manager_(NULL)
, setting_(false)
{
  wxBoxSizer* top_sizer = new wxBoxSizer(wxVERTICAL);

  property_grid_ = new wxPropertyGrid( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxPG_SPLITTER_AUTO_CENTER | wxPG_DEFAULT_STYLE );
  top_sizer->Add(property_grid_, 1, wxEXPAND, 5);
  SetSizer(top_sizer);

  property_grid_->SetExtraStyle(wxPG_EX_DISABLE_TLP_TRACKING);
  property_grid_->SetCaptionBackgroundColour( wxColour( 4, 89, 127 ) );
  property_grid_->SetCaptionTextColour( *wxWHITE );

  property_grid_->Connect( wxEVT_PG_CHANGING, wxPropertyGridEventHandler( SelectionPanel::onPropertyChanging ), NULL, this );
  property_grid_->Connect( wxEVT_PG_CHANGED, wxPropertyGridEventHandler( SelectionPanel::onPropertyChanged ), NULL, this );
  property_grid_->Connect( wxEVT_PG_SELECTED, wxPropertyGridEventHandler( SelectionPanel::onPropertySelected ), NULL, this );

  property_manager_ = new PropertyManager();
  property_manager_->setPropertyGrid(property_grid_);
}
EditorOptionsGeneralEditBase::EditorOptionsGeneralEditBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
    : wxPanel(parent, id, pos, size, style)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxC77E7InitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxBoxSizer* boxSizer4 = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(boxSizer4);
    
    wxArrayString m_pgMgrEditArr;
    wxUnusedVar(m_pgMgrEditArr);
    wxArrayInt m_pgMgrEditIntArr;
    wxUnusedVar(m_pgMgrEditIntArr);
    m_pgMgrEdit = new wxPropertyGridManager(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxPG_DESCRIPTION|wxPG_SPLITTER_AUTO_CENTER|wxPG_BOLD_MODIFIED);
    
    boxSizer4->Add(m_pgMgrEdit, 1, wxALL|wxEXPAND, 5);
    
    m_pgProp8 = m_pgMgrEdit->Append(  new wxPropertyCategory( _("Edit") ) );
    m_pgProp8->SetHelpString(wxT(""));
    
    m_pgPropSmartCurly = m_pgMgrEdit->AppendIn( m_pgProp8,  new wxBoolProperty( _("Smart curly brackets"), wxPG_LABEL, 1) );
    m_pgPropSmartCurly->SetHelpString(_("When user types '{', automatically insert the closing brace"));
    
    m_pgPropSmartParentheses = m_pgMgrEdit->AppendIn( m_pgProp8,  new wxBoolProperty( _("Smart square brackets / Parentheses"), wxPG_LABEL, 1) );
    m_pgPropSmartParentheses->SetHelpString(_("When user types '[' or '(' automatically insert the closing bracket.\nIn addition, if a user types ']' or ')' next to ']' or ')' just move the caret one position to the right"));
    
    m_pgPropSmartQuotes = m_pgMgrEdit->AppendIn( m_pgProp8,  new wxBoolProperty( _("Smart quotes"), wxPG_LABEL, 1) );
    m_pgPropSmartQuotes->SetHelpString(_("When typing \" or ', automatically add another one to the right, unless one already exists (in this case, simply move the caret one position to the right)"));
    
    m_pgProp16 = m_pgMgrEdit->Append(  new wxPropertyCategory( _("Typing in selection") ) );
    m_pgProp16->SetHelpString(wxT(""));
    
    m_pgPropWrapQuotes = m_pgMgrEdit->AppendIn( m_pgProp16,  new wxBoolProperty( _("Wrap with quotes"), wxPG_LABEL, 1) );
    m_pgPropWrapQuotes->SetHelpString(_("When typing ' or \" on a selection, instead of replacing the selection with the character, wrap it with quotes"));
    
    m_pgPropWrapBrackets = m_pgMgrEdit->AppendIn( m_pgProp16,  new wxBoolProperty( _("Wrap with brackets"), wxPG_LABEL, 1) );
    m_pgPropWrapBrackets->SetHelpString(_("When typing '(' or '[' on a selection, instead of replacing the selection with the character, wrap it with brackets"));
    
    SetSizeHints(500,300);
    if ( GetSizer() ) {
         GetSizer()->Fit(this);
    }
    Centre(wxBOTH);
    // Connect events
    m_pgMgrEdit->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(EditorOptionsGeneralEditBase::OnValueChanged), NULL, this);
    
}
示例#15
0
SettingsDlg::~SettingsDlg()
{
	// Disconnect Events
	m_TargetHost->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( SettingsDlg::OnTargetHost ), NULL, this );
	m_optDebugLocal->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( SettingsDlg::OnDebuggerLocal ), NULL, this );
	m_optDebugRS232->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( SettingsDlg::OnDebuggerRS232 ), NULL, this );
	m_gridSnippets->Disconnect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( SettingsDlg::OnSnippetEdit ), NULL, this );
	m_KbdShortcuts->Disconnect( wxEVT_PG_CHANGED, wxPropertyGridEventHandler( SettingsDlg::OnKbdChanged ), NULL, this );
	m_UserPDFReader->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( SettingsDlg::OnUserPDFReader ), NULL, this );
	m_UserReaderBrowse->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SettingsDlg::OnUserReaderBrowse ), NULL, this );
	m_sdbSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SettingsDlg::OnCancel ), NULL, this );
	m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SettingsDlg::OnOK ), NULL, this );
	
}
示例#16
0
CompilerMainPageBase::~CompilerMainPageBase()
{
    m_button222->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnAddCompilers), NULL, this);
    m_listBoxCompilers->Disconnect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(CompilerMainPageBase::OnCompilerSelected), NULL, this);
    m_listBoxCompilers->Disconnect(wxEVT_CONTEXT_MENU, wxContextMenuEventHandler(CompilerMainPageBase::OnContextMenu), NULL, this);
    m_pgMgrTools->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnCustomEditorButtonClicked), NULL, this);
    m_pgMgrTools->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CompilerMainPageBase::OnValueChanged), NULL, this);
    m_listErrPatterns->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnErrItemActivated), NULL, this);
    m_btnAddErrPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnAddErrPattern), NULL, this);
    m_btnDelErrPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnDelErrPattern), NULL, this);
    m_btnDelErrPattern->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnErrorPatternSelectedUI), NULL, this);
    m_btnUpdateErrPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnUpdateErrPattern), NULL, this);
    m_btnUpdateErrPattern->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnErrorPatternSelectedUI), NULL, this);
    m_listWarnPatterns->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnWarnItemActivated), NULL, this);
    m_btnAddWarnPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnAddWarnPattern), NULL, this);
    m_btnDelWarnPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnDelWarnPattern), NULL, this);
    m_btnDelWarnPattern->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnWarningPatternSelectedUI), NULL, this);
    m_btnUpdateWarnPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnUpdateWarnPattern), NULL, this);
    m_btnUpdateWarnPattern->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnWarningPatternSelectedUI), NULL, this);
    m_listCompilerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnCompilerOptionActivated), NULL, this);
    m_listCompilerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(CompilerMainPageBase::OnCompilerOptionDeSelected), NULL, this);
    m_listCompilerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnCompilerOptionSelected), NULL, this);
    m_buttonCompilerOption->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnNewCompilerOption), NULL, this);
    m_buttonDeleteCompilerOption->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnDeleteCompilerOption), NULL, this);
    m_listLinkerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnLinkerOptionActivated), NULL, this);
    m_listLinkerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(CompilerMainPageBase::OnLinkerOptionDeSelected), NULL, this);
    m_listLinkerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnLinkerOptionSelected), NULL, this);
    m_buttonLinkerOption->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnNewLinkerOption), NULL, this);
    m_buttonDeleteLinkerOption->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnDeleteLinkerOption), NULL, this);
    m_listSwitches->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnItemActivated), NULL, this);
    m_listSwitches->Disconnect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnItemSelected), NULL, this);
    m_listCtrlFileTypes->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnFileTypeActivated), NULL, this);
    m_listCtrlFileTypes->Disconnect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(CompilerMainPageBase::OnFileTypeDeSelected), NULL, this);
    m_listCtrlFileTypes->Disconnect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnFileTypeSelected), NULL, this);
    m_buttonNewFileType->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnNewFileType), NULL, this);
    m_buttonDeleteFileType->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnDeleteFileType), NULL, this);
    m_textCtrlGlobalIncludePath->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_button67->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnEditIncludePaths), NULL, this);
    m_textCtrlGlobalLibPath->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_button69->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnEditLibraryPaths), NULL, this);
    m_textObjectExtension->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_textDependExtension->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_textPreprocessExtension->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_checkBoxGenerateDependenciesFiles->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_checkBoxObjectNameSameAsFileName->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_checkBoxReadObjectsFromFile->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    
}
TagsOptionsBaseDlg::~TagsOptionsBaseDlg()
{
    m_pgMgrColouring->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(TagsOptionsBaseDlg::OnColouringPropertyValueChanged), NULL, this);
    m_staticTextMinWordLen->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnAutoShowWordAssitUI), NULL, this);
    m_sliderMinWordLen->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnAutoShowWordAssitUI), NULL, this);
    m_buttonAddSearchPath->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnAddSearchPath), NULL, this);
    m_buttonCtagsSuggest->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnSuggestCtags), NULL, this);
    m_buttonAddExcludePath->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnAddExcludePath), NULL, this);
    m_buttonParse->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnParse), NULL, this);
    m_buttonParse->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnFileSelectedUI), NULL, this);
    m_notebookClang->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClangCCEnabledUI), NULL, this);
    m_checkBoxClangFirst->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClangCCEnabledUI), NULL, this);
    m_textCtrlClangSearchPaths->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClangCCEnabledUI), NULL, this);
    m_buttonSuggest->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnSuggestSearchPaths), NULL, this);
    m_buttonSuggest->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClangCCEnabledUI), NULL, this);
    m_staticText101->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClangCCEnabledUI), NULL, this);
    m_buttonClearCache->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnClearClangCache), NULL, this);
    m_buttonClearCache->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClearClangCacheUI), NULL, this);
    m_buttonOK->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnButtonOK), NULL, this);
    
}
示例#18
0
CompilerMainPageBase::~CompilerMainPageBase()
{
    m_button222->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnAddCompilers), NULL, this);
    m_listBoxCompilers->Disconnect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(CompilerMainPageBase::OnCompilerSelected), NULL, this);
    m_listBoxCompilers->Disconnect(wxEVT_CONTEXT_MENU, wxContextMenuEventHandler(CompilerMainPageBase::OnContextMenu), NULL, this);
    m_pgMgrTools->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnCustomEditorButtonClicked), NULL, this);
    m_pgMgrTools->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CompilerMainPageBase::OnValueChanged), NULL, this);
    m_listErrPatterns->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnErrItemActivated), NULL, this);
    m_btnAddErrPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnAddErrPattern), NULL, this);
    m_btnDelErrPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnDelErrPattern), NULL, this);
    m_btnDelErrPattern->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnErrorPatternSelectedUI), NULL, this);
    m_btnUpdateErrPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnUpdateErrPattern), NULL, this);
    m_btnUpdateErrPattern->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnErrorPatternSelectedUI), NULL, this);
    m_listWarnPatterns->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnWarnItemActivated), NULL, this);
    m_btnAddWarnPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnAddWarnPattern), NULL, this);
    m_btnDelWarnPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnDelWarnPattern), NULL, this);
    m_btnDelWarnPattern->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnWarningPatternSelectedUI), NULL, this);
    m_btnUpdateWarnPattern->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnUpdateWarnPattern), NULL, this);
    m_btnUpdateWarnPattern->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnWarningPatternSelectedUI), NULL, this);
    m_listCompilerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnCompilerOptionActivated), NULL, this);
    m_listCompilerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(CompilerMainPageBase::OnCompilerOptionDeSelected), NULL, this);
    m_listCompilerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnCompilerOptionSelected), NULL, this);
    m_buttonCompilerOption->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnNewCompilerOption), NULL, this);
    m_buttonDeleteCompilerOption->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnDeleteCompilerOption), NULL, this);
    m_listLinkerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnLinkerOptionActivated), NULL, this);
    m_listLinkerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(CompilerMainPageBase::OnLinkerOptionDeSelected), NULL, this);
    m_listLinkerOptions->Disconnect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnLinkerOptionSelected), NULL, this);
    m_buttonLinkerOption->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnNewLinkerOption), NULL, this);
    m_buttonDeleteLinkerOption->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnDeleteLinkerOption), NULL, this);
    m_listSwitches->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnItemActivated), NULL, this);
    m_listSwitches->Disconnect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnItemSelected), NULL, this);
    m_listCtrlFileTypes->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnFileTypeActivated), NULL, this);
    m_listCtrlFileTypes->Disconnect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(CompilerMainPageBase::OnFileTypeDeSelected), NULL, this);
    m_listCtrlFileTypes->Disconnect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnFileTypeSelected), NULL, this);
    m_buttonNewFileType->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnNewFileType), NULL, this);
    m_buttonDeleteFileType->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnDeleteFileType), NULL, this);
    m_button67->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnEditIncludePaths), NULL, this);
    m_button69->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnEditLibraryPaths), NULL, this);
    
}
示例#19
0
BaseFrame::BaseFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	m_mgr.SetManagedWindow(this);
	m_mgr.SetFlags(wxAUI_MGR_DEFAULT);

	m_menubar1 = new wxMenuBar( 0 );
	FileMenu = new wxMenu();
	wxMenuItem* QuitItem;
	QuitItem = new wxMenuItem( FileMenu, wxID_ANY, wxString( wxT("Quit") ) , wxEmptyString, wxITEM_NORMAL );
	FileMenu->Append( QuitItem );

	m_menubar1->Append( FileMenu, wxT("File") ); 

	this->SetMenuBar( m_menubar1 );

	m_viewPanel = new wxPanel( this, wxID_VIEWPANEL, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	m_viewPanel->SetExtraStyle( wxWS_EX_PROCESS_IDLE );

	m_mgr.AddPane( m_viewPanel, wxAuiPaneInfo() .Name( wxT("3D view") ).Left() .CloseButton( false ).Dock().Resizable().FloatingSize( wxDefaultSize ).CentrePane() );

	wxBoxSizer* bSizer3;
	bSizer3 = new wxBoxSizer( wxVERTICAL );


	m_viewPanel->SetSizer( bSizer3 );
	m_viewPanel->Layout();
	bSizer3->Fit( m_viewPanel );
	m_notebook1 = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxSize( 300,-1 ), 0 );
	m_mgr.AddPane( m_notebook1, wxAuiPaneInfo() .Right() .PinButton( true ).Gripper().Dock().Resizable().FloatingSize( wxDefaultSize ).DockFixed( false ) );

	planetProperties = new wxScrolledWindow( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
	planetProperties->SetScrollRate( 5, 5 );
	wxBoxSizer* bSizer2;
	bSizer2 = new wxBoxSizer( wxVERTICAL );

	m_propertyPlanet = new wxPropertyGrid(planetProperties, wxID_PROPERTY, wxDefaultPosition, wxSize( -1,-1 ), wxPG_DEFAULT_STYLE|wxPG_SPLITTER_AUTO_CENTER);
	Planet = m_propertyPlanet->Append( new wxPropertyCategory( wxT("Planet"), wxT("Planet") ) ); 
	m_propertyPersistance = m_propertyPlanet->Append( new wxFloatProperty( wxT("Persistance"), wxT("Persistance") ) ); 
	m_propertyAmplitude = m_propertyPlanet->Append( new wxFloatProperty( wxT("Amplitude"), wxT("Amplitude") ) ); 
	m_propertyOctave = m_propertyPlanet->Append( new wxIntProperty( wxT("Octaves"), wxT("Octaves") ) ); 
	m_propertyFrequency = m_propertyPlanet->Append( new wxFloatProperty( wxT("Frequency"), wxT("Frequency") ) ); 
	m_propertyLacunarity = m_propertyPlanet->Append( new wxFloatProperty( wxT("Lacunarity"), wxT("Lacunarity") ) ); 
	m_propertyOffset = m_propertyPlanet->Append( new wxFloatProperty( wxT("Height offset"), wxT("Height offset") ) ); 
	Atmosphere = m_propertyPlanet->Append( new wxPropertyCategory( wxT("Atmosphere"), wxT("Atmosphere") ) ); 
	m_propertyEsun = m_propertyPlanet->Append( new wxFloatProperty( wxT("esun"), wxT("esun") ) ); 
	m_propertyRed = m_propertyPlanet->Append( new wxFloatProperty( wxT("red"), wxT("red") ) ); 
	m_propertyBlue = m_propertyPlanet->Append( new wxFloatProperty( wxT("blue"), wxT("blue") ) ); 
	m_propertyGreen = m_propertyPlanet->Append( new wxFloatProperty( wxT("green"), wxT("green") ) ); 
	m_propertyGg = m_propertyPlanet->Append( new wxFloatProperty( wxT("gg"), wxT("gg") ) ); 
	Camera = m_propertyPlanet->Append( new wxPropertyCategory( wxT("Camera"), wxT("Camera") ) ); 
	m_propertyCameraSpeed = m_propertyPlanet->Append( new wxFloatProperty( wxT("CameraSpeed"), wxT("CameraSpeed") ) ); 
	bSizer2->Add( m_propertyPlanet, 1, wxALL|wxEXPAND, 5 );


	planetProperties->SetSizer( bSizer2 );
	planetProperties->Layout();
	bSizer2->Fit( planetProperties );
	m_notebook1->AddPage( planetProperties, wxT("Properties"), false );
	m_panel3 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	m_notebook1->AddPage( m_panel3, wxT("a page"), false );


	m_mgr.Update();
	this->Centre( wxBOTH );

	// Connect Events
	this->Connect( wxEVT_IDLE, wxIdleEventHandler( BaseFrame::OnIdle ) );
	m_propertyPlanet->Connect( wxEVT_PG_CHANGED, wxPropertyGridEventHandler( BaseFrame::OnPropertyChanged ), NULL, this );
}
示例#20
0
WebToolsSettingsBase::WebToolsSettingsBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
    : wxDialog(parent, id, title, pos, size, style)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxCD9C6InitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxBoxSizer* boxSizer2 = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(boxSizer2);
    
    m_notebook10 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
    m_notebook10->SetName(wxT("m_notebook10"));
    
    boxSizer2->Add(m_notebook10, 1, wxALL|wxEXPAND, 5);
    
    m_panel56 = new wxPanel(m_notebook10, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_notebook10->AddPage(m_panel56, _("Code Completion"), false);
    
    wxBoxSizer* boxSizer58 = new wxBoxSizer(wxVERTICAL);
    m_panel56->SetSizer(boxSizer58);
    
    m_checkBoxEnableJsCC = new wxCheckBox(m_panel56, wxID_ANY, _("Enable JavaScript code completion"), wxDefaultPosition, wxSize(-1,-1), 0);
    m_checkBoxEnableJsCC->SetValue(true);
    m_checkBoxEnableJsCC->SetToolTip(_("Enable JavaScript code completion"));
    
    boxSizer58->Add(m_checkBoxEnableJsCC, 0, wxALL, 5);
    
    m_checkBoxEnableXmlCC = new wxCheckBox(m_panel56, wxID_ANY, _("Enable XML code completion"), wxDefaultPosition, wxSize(-1,-1), 0);
    m_checkBoxEnableXmlCC->SetValue(true);
    m_checkBoxEnableXmlCC->SetToolTip(_("Enable XML code completion"));
    
    boxSizer58->Add(m_checkBoxEnableXmlCC, 0, wxALL, 5);
    
    m_checkBoxEnableHtmlCC = new wxCheckBox(m_panel56, wxID_ANY, _("Enable HTML code completion"), wxDefaultPosition, wxSize(-1,-1), 0);
    m_checkBoxEnableHtmlCC->SetValue(true);
    m_checkBoxEnableHtmlCC->SetToolTip(_("Enable HTML code completion"));
    
    boxSizer58->Add(m_checkBoxEnableHtmlCC, 0, wxALL, 5);
    
    m_panel12 = new wxPanel(m_notebook10, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_notebook10->AddPage(m_panel12, _("JavaScript"), false);
    
    wxBoxSizer* boxSizer22 = new wxBoxSizer(wxVERTICAL);
    m_panel12->SetSizer(boxSizer22);
    
    wxArrayString m_pgMgrArr;
    wxUnusedVar(m_pgMgrArr);
    wxArrayInt m_pgMgrIntArr;
    wxUnusedVar(m_pgMgrIntArr);
    m_pgMgr = new wxPropertyGridManager(m_panel12, wxID_ANY, wxDefaultPosition, wxSize(300,400), wxPG_DESCRIPTION|wxPG_SPLITTER_AUTO_CENTER|wxPG_BOLD_MODIFIED);
    
    boxSizer22->Add(m_pgMgr, 1, wxALL|wxEXPAND, 5);
    
    m_pgProp26 = m_pgMgr->Append(  new wxPropertyCategory( _("General") ) );
    m_pgProp26->SetHelpString(wxT(""));
    
    m_pgPropLogging = m_pgMgr->AppendIn( m_pgProp26,  new wxBoolProperty( _("Verbose Logging"), wxPG_LABEL, 1) );
    m_pgPropLogging->SetHelpString(_("The JavaScript code completion uses the \"tern\" engine.\nCheck this option to start tern in verbose mode"));
    
    m_pgProp32 = m_pgMgr->Append(  new wxPropertyCategory( _("Libraries") ) );
    m_pgProp32->SetHelpString(_("Enable Code Completion for the selected libraries"));
    
    m_pgPropEcma5 = m_pgMgr->AppendIn( m_pgProp32,  new wxBoolProperty( _("Ecma5"), wxPG_LABEL, 1) );
    m_pgPropEcma5->SetHelpString(wxT(""));
    
    m_pgPropEcma6 = m_pgMgr->AppendIn( m_pgProp32,  new wxBoolProperty( _("Ecma6"), wxPG_LABEL, 1) );
    m_pgPropEcma6->SetHelpString(wxT(""));
    
    m_pgPropJQuery = m_pgMgr->AppendIn( m_pgProp32,  new wxBoolProperty( _("jQuery"), wxPG_LABEL, 1) );
    m_pgPropJQuery->SetHelpString(_("Support Code Completion for jQuery framework"));
    
    m_pgPropUnderscore = m_pgMgr->AppendIn( m_pgProp32,  new wxBoolProperty( _("Underscore"), wxPG_LABEL, 1) );
    m_pgPropUnderscore->SetHelpString(_("Enable code completion for the Underscore library"));
    
    m_pgPropBrowser = m_pgMgr->AppendIn( m_pgProp32,  new wxBoolProperty( _("Browser"), wxPG_LABEL, 1) );
    m_pgPropBrowser->SetHelpString(_("Enable code completion for browser mode (DOM, document, window etc)"));
    
    m_pgPropChai = m_pgMgr->AppendIn( m_pgProp32,  new wxBoolProperty( _("Chai"), wxPG_LABEL, 1) );
    m_pgPropChai->SetHelpString(_("Enable code completion for the chain assertion library"));
    
    m_pgPropQML = m_pgMgr->AppendIn( m_pgProp32,  new wxBoolProperty( _("QML"), wxPG_LABEL, 1) );
    m_pgPropQML->SetHelpString(_("Support for Qt's QML extension for JavaScript"));
    
    m_pgProp46 = m_pgMgr->Append(  new wxPropertyCategory( _("Plugins") ) );
    m_pgProp46->SetHelpString(wxT(""));
    
    m_pgPropAngular = m_pgMgr->AppendIn( m_pgProp46,  new wxBoolProperty( _("Angular"), wxPG_LABEL, 1) );
    m_pgPropAngular->SetHelpString(_("Adds the angular object to the top-level environment, and tries to wire up some of the bizarre dependency management scheme from this library, so that dependency injections get the right types"));
    
    m_pgPropStrings = m_pgMgr->AppendIn( m_pgProp46,  new wxBoolProperty( _("Strings"), wxPG_LABEL, 1) );
    m_pgPropStrings->SetHelpString(_("When enabled, this plugin will gather (short) strings in your code, and completing when inside a string will try to complete to previously seen strings"));
    
    m_pgPropNode = m_pgMgr->AppendIn( m_pgProp46,  new wxBoolProperty( _("Node.js"), wxPG_LABEL, 1) );
    m_pgPropNode->SetHelpString(_("Provides variables that are part of the node environment, such as process and require, and hooks up require to try and find the dependencies that are being loaded, and assign them the correct types. It also includes types for the built-in modules that node.js provides (\"fs\", \"http\", etc)"));
    
    m_pgPropRequireJS = m_pgMgr->AppendIn( m_pgProp46,  new wxBoolProperty( _("RequireJS"), wxPG_LABEL, 1) );
    m_pgPropRequireJS->SetHelpString(_("This plugin (\"requirejs\") teaches the server to understand RequireJS-style dependency management. It defines the global functions define and requirejs, and will do its best to resolve dependencies and give them their proper types"));
    
    m_stdBtnSizer4 = new wxStdDialogButtonSizer();
    
    boxSizer2->Add(m_stdBtnSizer4, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_buttonCancel = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_stdBtnSizer4->AddButton(m_buttonCancel);
    
    m_buttonOK = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_buttonOK->SetDefault();
    m_stdBtnSizer4->AddButton(m_buttonOK);
    m_stdBtnSizer4->Realize();
    
    
    #if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(m_notebook10)){
        wxPersistenceManager::Get().RegisterAndRestore(m_notebook10);
    } else {
        wxPersistenceManager::Get().Restore(m_notebook10);
    }
    #endif
    
    SetName(wxT("WebToolsSettingsBase"));
    SetSize(-1,-1);
    if (GetSizer()) {
         GetSizer()->Fit(this);
    }
    if(GetParent()) {
        CentreOnParent(wxBOTH);
    } else {
        CentreOnScreen(wxBOTH);
    }
#if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(this)) {
        wxPersistenceManager::Get().RegisterAndRestore(this);
    } else {
        wxPersistenceManager::Get().Restore(this);
    }
#endif
    // Connect events
    m_checkBoxEnableJsCC->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(WebToolsSettingsBase::OnModified), NULL, this);
    m_checkBoxEnableXmlCC->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(WebToolsSettingsBase::OnModified), NULL, this);
    m_checkBoxEnableHtmlCC->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(WebToolsSettingsBase::OnModified), NULL, this);
    m_pgMgr->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(WebToolsSettingsBase::OnJSValueChanged), NULL, this);
    m_buttonOK->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WebToolsSettingsBase::OnOKUI), NULL, this);
    m_buttonOK->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(WebToolsSettingsBase::OnOK), NULL, this);
    
}
示例#21
0
文件: UI.cpp 项目: 292388900/codelite
LLDBSettingDialogBase::LLDBSettingDialogBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
    : wxDialog(parent, id, title, pos, size, style)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxCrafternz79PnInitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxBoxSizer* boxSizer77 = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(boxSizer77);
    
    m_notebook87 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
    m_notebook87->SetName(wxT("m_notebook87"));
    
    boxSizer77->Add(m_notebook87, 1, wxALL|wxEXPAND, 5);
    
    m_panel89 = new wxPanel(m_notebook87, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_notebook87->AddPage(m_panel89, _("General"), true);
    
    wxBoxSizer* boxSizer93 = new wxBoxSizer(wxVERTICAL);
    m_panel89->SetSizer(boxSizer93);
    
    wxArrayString m_pgMgrDisplayPropertiesArr;
    wxUnusedVar(m_pgMgrDisplayPropertiesArr);
    wxArrayInt m_pgMgrDisplayPropertiesIntArr;
    wxUnusedVar(m_pgMgrDisplayPropertiesIntArr);
    m_pgMgrDisplayProperties = new wxPropertyGridManager(m_panel89, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxPG_DESCRIPTION|wxPG_SPLITTER_AUTO_CENTER|wxPG_BOLD_MODIFIED);
    
    boxSizer93->Add(m_pgMgrDisplayProperties, 1, wxALL|wxEXPAND, 5);
    
    m_pgPropCatGeneral = m_pgMgrDisplayProperties->Append(  new wxPropertyCategory( _("Behaviour") ) );
    m_pgPropCatGeneral->SetHelpString(wxT(""));
    
    m_pgPropRaiseCodeLite = m_pgMgrDisplayProperties->AppendIn( m_pgPropCatGeneral,  new wxBoolProperty( _("Raise CodeLite when breakpoint hit"), wxPG_LABEL, 1) );
    m_pgPropRaiseCodeLite->SetHelpString(_("When a breakpoint is hit, notify the user raising CodeLite"));
    
    m_pgProp138 = m_pgMgrDisplayProperties->Append(  new wxPropertyCategory( _("Display") ) );
    m_pgProp138->SetHelpString(wxT(""));
    
    m_pgPropArraySize = m_pgMgrDisplayProperties->AppendIn( m_pgProp138,  new wxIntProperty( _("Max number of array elements"), wxPG_LABEL, 50) );
    m_pgPropArraySize->SetHelpString(_("The maximum number of elements to display in arrays"));
    
    m_pgPropCallStackSize = m_pgMgrDisplayProperties->AppendIn( m_pgProp138,  new wxIntProperty( _("Backtrace frames"), wxPG_LABEL, 100) );
    m_pgPropCallStackSize->SetHelpString(_("Maximum number of frames to show in the callstack window"));
    
    m_panel91 = new wxPanel(m_notebook87, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_notebook87->AddPage(m_panel91, _("Types"), false);
    
    wxBoxSizer* boxSizer107 = new wxBoxSizer(wxVERTICAL);
    m_panel91->SetSizer(boxSizer107);
    
    m_stcTypes = new wxStyledTextCtrl(m_panel91, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), 0);
    #ifdef __WXMSW__
    // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE
    wxFont m_stcTypesFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
    m_stcTypesFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #else
    wxFont m_stcTypesFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT);
    m_stcTypesFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #endif
    m_stcTypes->SetFont(m_stcTypesFont);
    m_stcTypes->SetToolTip(_("LLDB has a data formatters subsystem that allows users to define custom display options for their variables\nYou can set here the types to pass to LLDB"));
    // Configure the fold margin
    m_stcTypes->SetMarginType     (4, wxSTC_MARGIN_SYMBOL);
    m_stcTypes->SetMarginMask     (4, wxSTC_MASK_FOLDERS);
    m_stcTypes->SetMarginSensitive(4, true);
    m_stcTypes->SetMarginWidth    (4, 0);
    
    // Configure the tracker margin
    m_stcTypes->SetMarginWidth(1, 0);
    
    // Configure the symbol margin
    m_stcTypes->SetMarginType (2, wxSTC_MARGIN_SYMBOL);
    m_stcTypes->SetMarginMask (2, ~(wxSTC_MASK_FOLDERS));
    m_stcTypes->SetMarginWidth(2, 0);
    m_stcTypes->SetMarginSensitive(2, true);
    
    // Configure the line numbers margin
    m_stcTypes->SetMarginType(0, wxSTC_MARGIN_NUMBER);
    m_stcTypes->SetMarginWidth(0,0);
    
    // Configure the line symbol margin
    m_stcTypes->SetMarginType(3, wxSTC_MARGIN_FORE);
    m_stcTypes->SetMarginMask(3, 0);
    m_stcTypes->SetMarginWidth(3,0);
    // Select the lexer
    m_stcTypes->SetLexer(wxSTC_LEX_NULL);
    // Set default font / styles
    m_stcTypes->StyleClearAll();
    for(int i=0; i<wxSTC_STYLE_MAX; ++i) {
        m_stcTypes->StyleSetFont(i, m_stcTypesFont);
    }
    m_stcTypes->SetWrapMode(0);
    m_stcTypes->SetIndentationGuides(0);
    m_stcTypes->SetKeyWords(0, wxT(""));
    m_stcTypes->SetKeyWords(1, wxT(""));
    m_stcTypes->SetKeyWords(2, wxT(""));
    m_stcTypes->SetKeyWords(3, wxT(""));
    m_stcTypes->SetKeyWords(4, wxT(""));
    
    boxSizer107->Add(m_stcTypes, 1, wxALL|wxEXPAND, 5);
    
    m_hyperLink111 = new wxHyperlinkCtrl(m_panel91, wxID_ANY, _("Learn more about LLDB types"), wxT("http://lldb.llvm.org/varformats.html"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
    m_hyperLink111->SetNormalColour(wxColour(wxT("#0000FF")));
    m_hyperLink111->SetHoverColour(wxColour(wxT("#0000FF")));
    m_hyperLink111->SetVisitedColour(wxColour(wxT("#FF0000")));
    
    boxSizer107->Add(m_hyperLink111, 0, wxALL|wxEXPAND, 5);
    
    m_panel142 = new wxPanel(m_notebook87, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_notebook87->AddPage(m_panel142, _("Advanced"), false);
    
    wxBoxSizer* boxSizer160 = new wxBoxSizer(wxVERTICAL);
    m_panel142->SetSizer(boxSizer160);
    
    wxArrayString m_pgMgrAdvancedArr;
    wxUnusedVar(m_pgMgrAdvancedArr);
    wxArrayInt m_pgMgrAdvancedIntArr;
    wxUnusedVar(m_pgMgrAdvancedIntArr);
    m_pgMgrAdvanced = new wxPropertyGridManager(m_panel142, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxPG_DESCRIPTION|wxPG_SPLITTER_AUTO_CENTER|wxPG_BOLD_MODIFIED);
    
    boxSizer160->Add(m_pgMgrAdvanced, 1, wxALL|wxEXPAND, 5);
    
    m_pgProp165 = m_pgMgrAdvanced->Append(  new wxPropertyCategory( _("Debugger Proxy") ) );
    m_pgProp165->SetHelpString(wxT(""));
    
    m_pgMgrAdvancedArr.Clear();
    m_pgMgrAdvancedIntArr.Clear();
    m_pgMgrAdvancedArr.Add(_("Local proxy process (default)"));
    m_pgMgrAdvancedArr.Add(_("Remote proxy process over TCP/IP"));
    m_pgPropProxyType = m_pgMgrAdvanced->AppendIn( m_pgProp165,  new wxEnumProperty( _("Proxy type"), wxPG_LABEL, m_pgMgrAdvancedArr, m_pgMgrAdvancedIntArr, 0) );
    m_pgPropProxyType->SetHelpString(_("Debugging using LLDB is always done over a proxy process (i.e. codelite-lldb)\nHere you can select the type of the proxy to use (local or remote):\n* Local proxy is used by default to debug local processes (this is the default)\n* Remote proxy: use this method to connect to a remote codelite-lldb proxy server over TCP/IP"));
    
    m_pgProp169 = m_pgMgrAdvanced->Append(  new wxPropertyCategory( _("Remote proxy settings") ) );
    m_pgProp169->SetHelpString(wxT(""));
    
    m_pgPropProxyIP = m_pgMgrAdvanced->AppendIn( m_pgProp169,  new wxStringProperty( _("Address"), wxPG_LABEL, _("127.0.0.1")) );
    m_pgPropProxyIP->SetHelpString(_("The IP address on which the remote proxy server is accepting connections"));
    
    m_pgPropProxyPort = m_pgMgrAdvanced->AppendIn( m_pgProp169,  new wxIntProperty( _("Port"), wxPG_LABEL, 13610) );
    m_pgPropProxyPort->SetHelpString(_("The port number on which the remote proxy server is accepting connections"));
    
    m_stdBtnSizer79 = new wxStdDialogButtonSizer();
    
    boxSizer77->Add(m_stdBtnSizer79, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_button81 = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_stdBtnSizer79->AddButton(m_button81);
    
    m_button83 = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_button83->SetDefault();
    m_stdBtnSizer79->AddButton(m_button83);
    
    m_button175 = new wxButton(this, wxID_APPLY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_stdBtnSizer79->AddButton(m_button175);
    m_stdBtnSizer79->Realize();
    
    
    #if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(m_notebook87)){
        wxPersistenceManager::Get().RegisterAndRestore(m_notebook87);
    } else {
        wxPersistenceManager::Get().Restore(m_notebook87);
    }
    #endif
    
    SetName(wxT("LLDBSettingDialogBase"));
    SetSize(500,400);
    if (GetSizer()) {
         GetSizer()->Fit(this);
    }
    if(GetParent()) {
        CentreOnParent(wxBOTH);
    } else {
        CentreOnScreen(wxBOTH);
    }
#if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(this)) {
        wxPersistenceManager::Get().RegisterAndRestore(this);
    } else {
        wxPersistenceManager::Get().Restore(this);
    }
#endif
    // Connect events
    m_pgMgrDisplayProperties->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(LLDBSettingDialogBase::OnGeneralValueChanged), NULL, this);
    m_pgMgrAdvanced->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(LLDBSettingDialogBase::OnAdvancedValueChanged), NULL, this);
    m_button83->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(LLDBSettingDialogBase::OnOKUI), NULL, this);
    m_button175->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(LLDBSettingDialogBase::OnApply), NULL, this);
    m_button175->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(LLDBSettingDialogBase::OnOKUI), NULL, this);
    
}
示例#22
0
CompilerMainPageBase::CompilerMainPageBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
    : wxPanel(parent, id, pos, size, style)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxCAD0CInitBitmapResources();
        bBitmapLoaded = true;
    }
    
    boxSizer114 = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(boxSizer114);
    
    m_button222 = new wxButton(this, wxID_ANY, _("Add Compilers"), wxDefaultPosition, wxSize(-1,-1), 0);
    #if wxVERSION_NUMBER >= 2904
    m_button222->SetBitmap(wxXmlResource::Get()->LoadBitmap(wxT("arrow-down-16")), wxRIGHT);
    m_button222->SetBitmapMargins(1,1);
    #endif
    
    boxSizer114->Add(m_button222, 0, wxALL|wxALIGN_RIGHT, 5);
    
    boxSizer220 = new wxBoxSizer(wxHORIZONTAL);
    
    boxSizer114->Add(boxSizer220, 1, wxEXPAND, 5);
    
    wxArrayString m_listBoxCompilersArr;
    m_listBoxCompilers = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), m_listBoxCompilersArr, wxLB_SORT|wxLB_SINGLE);
    
    boxSizer220->Add(m_listBoxCompilers, 0, wxALL|wxEXPAND, 5);
    
    m_auiBook = new Notebook(this, wxID_ANY, wxDefaultPosition, wxSize(450,300), wxAUI_NB_DEFAULT_STYLE|wxBK_DEFAULT);
    m_auiBook->SetName(wxT("m_auiBook"));
    
    boxSizer220->Add(m_auiBook, 1, wxALL|wxEXPAND, 5);
    
    m_panelTools = new wxPanel(m_auiBook, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_auiBook->AddPage(m_panelTools, _("Tools"), true);
    
    boxSizer2 = new wxBoxSizer(wxVERTICAL);
    m_panelTools->SetSizer(boxSizer2);
    
    wxArrayString m_pgMgrToolsArr;
    wxUnusedVar(m_pgMgrToolsArr);
    wxArrayInt m_pgMgrToolsIntArr;
    wxUnusedVar(m_pgMgrToolsIntArr);
    m_pgMgrTools = new wxPropertyGridManager(m_panelTools, wxID_ANY, wxDefaultPosition, wxSize(300,300), wxPG_DESCRIPTION|wxPG_HIDE_MARGIN|wxPG_BOLD_MODIFIED);
    
    boxSizer2->Add(m_pgMgrTools, 1, wxALL|wxEXPAND, 5);
    
    m_pgProp94 = m_pgMgrTools->Append(  new wxPropertyCategory( _("Tools") ) );
    m_pgProp94->SetHelpString(wxT(""));
    
    m_pgPropCXX = m_pgMgrTools->AppendIn( m_pgProp94,  new wxStringProperty( _("C++ Compiler"), wxPG_LABEL, wxT("")) );
    m_pgPropCXX->SetHelpString(_("The C++ compiler path (plus optional flags). This tool is represented in the Makefile as $(CXX)"));
    m_pgPropCXX->SetEditor( wxT("TextCtrlAndButton") );
    
    m_pgPropCC = m_pgMgrTools->AppendIn( m_pgProp94,  new wxStringProperty( _("C Compiler"), wxPG_LABEL, wxT("")) );
    m_pgPropCC->SetHelpString(_("The C++ compiler path (plus optional flags). This tool is represented in the Makefile as $(CC)"));
    m_pgPropCC->SetEditor( wxT("TextCtrlAndButton") );
    
    m_pgPropAS = m_pgMgrTools->AppendIn( m_pgProp94,  new wxStringProperty( _("Assembler Name"), wxPG_LABEL, wxT("")) );
    m_pgPropAS->SetHelpString(_("The assembler tool path. This tool is referred in the Makefile as $(AS)"));
    m_pgPropAS->SetEditor( wxT("TextCtrlAndButton") );
    
    m_pgPropLD = m_pgMgrTools->AppendIn( m_pgProp94,  new wxStringProperty( _("Linker"), wxPG_LABEL, wxT("")) );
    m_pgPropLD->SetHelpString(_("The linker tool. Usually similar to the 'C++ Compiler' tool path"));
    m_pgPropLD->SetEditor( wxT("TextCtrlAndButton") );
    
    m_pgPropSharedObjectLD = m_pgMgrTools->AppendIn( m_pgProp94,  new wxStringProperty( _("Shared Object Linker"), wxPG_LABEL, wxT("")) );
    m_pgPropSharedObjectLD->SetHelpString(_("The tool to create shared objects"));
    m_pgPropSharedObjectLD->SetEditor( wxT("TextCtrlAndButton") );
    
    m_pgPropAR = m_pgMgrTools->AppendIn( m_pgProp94,  new wxStringProperty( _("Archive"), wxPG_LABEL, wxT("")) );
    m_pgPropAR->SetHelpString(_("The static archive tool \"ar\". This tool is referred in the Makefile as $(AR)"));
    m_pgPropAR->SetEditor( wxT("TextCtrlAndButton") );
    
    m_pgPropResourceCompiler = m_pgMgrTools->AppendIn( m_pgProp94,  new wxStringProperty( _("Resource Compiler"), wxPG_LABEL, wxT("")) );
    m_pgPropResourceCompiler->SetHelpString(_("The resource compiler. (Windows only)"));
    m_pgPropResourceCompiler->SetEditor( wxT("TextCtrlAndButton") );
    
    m_pgPropMAKE = m_pgMgrTools->AppendIn( m_pgProp94,  new wxStringProperty( _("Make"), wxPG_LABEL, wxT("")) );
    m_pgPropMAKE->SetHelpString(_("The Make tool. on Windows / MinGW this is usually mingw32-make.exe while on other OSs its simply 'make'"));
    m_pgPropMAKE->SetEditor( wxT("TextCtrlAndButton") );
    
    m_pgPropMkdir = m_pgMgrTools->AppendIn( m_pgProp94,  new wxStringProperty( _("mkdir"), wxPG_LABEL, wxT("")) );
    m_pgPropMkdir->SetHelpString(_("Set the 'mkdir' for your OS.\nLeave it empty to use the defualt for your OS"));
    m_pgPropMkdir->SetEditor( wxT("TextCtrlAndButton") );
    
    m_pgPropDebugger = m_pgMgrTools->AppendIn( m_pgProp94,  new wxStringProperty( _("Gdb"), wxPG_LABEL, wxT("")) );
    m_pgPropDebugger->SetHelpString(_("On various platform (e.g. Cygwin) it is recommended to use their own sepcial gdb executable rather than the global one\nYou can specify one here, or leave this empty to use the default"));
    m_pgPropDebugger->SetEditor( wxT("TextCtrlAndButton") );
    m_pgMgrTools->GetGrid()->SetSplitterPosition(150, 0);
    m_panelPatterns = new wxPanel(m_auiBook, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_auiBook->AddPage(m_panelPatterns, _("Patterns"), false);
    
    bSizer14 = new wxBoxSizer(wxVERTICAL);
    m_panelPatterns->SetSizer(bSizer14);
    
    bSizerError = new wxBoxSizer(wxVERTICAL);
    
    bSizer14->Add(bSizerError, 1, wxEXPAND, 5);
    
    m_staticText161 = new wxStaticText(m_panelPatterns, wxID_ANY, _("Compiler Errors Patterns:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizerError->Add(m_staticText161, 0, wxALL, 5);
    
    bSizer25 = new wxBoxSizer(wxHORIZONTAL);
    
    bSizerError->Add(bSizer25, 1, wxEXPAND, 5);
    
    m_listErrPatterns = new wxListCtrl(m_panelPatterns, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxLC_VRULES|wxLC_HRULES|wxLC_SINGLE_SEL|wxLC_REPORT);
    
    bSizer25->Add(m_listErrPatterns, 1, wxALL|wxEXPAND, 5);
    
    bSizer26 = new wxBoxSizer(wxVERTICAL);
    
    bSizer25->Add(bSizer26, 0, 0, 5);
    
    m_btnAddErrPattern = new wxButton(m_panelPatterns, wxID_ANY, _("Add"), wxDefaultPosition, wxSize(-1,-1), 0);
    m_btnAddErrPattern->SetToolTip(_("Add new error pattern"));
    
    bSizer26->Add(m_btnAddErrPattern, 0, wxALL|wxEXPAND, 5);
    
    m_btnDelErrPattern = new wxButton(m_panelPatterns, wxID_ANY, _("Delete"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_btnDelErrPattern->SetToolTip(_("Delete the selected error pattern"));
    
    bSizer26->Add(m_btnDelErrPattern, 0, wxALL|wxEXPAND, 5);
    
    m_btnUpdateErrPattern = new wxButton(m_panelPatterns, wxID_ANY, _("Edit..."), wxDefaultPosition, wxSize(-1, -1), 0);
    m_btnUpdateErrPattern->SetToolTip(_("Edit the selected error pattern"));
    
    bSizer26->Add(m_btnUpdateErrPattern, 0, wxALL|wxEXPAND, 5);
    
    bSizerWarnings = new wxBoxSizer(wxVERTICAL);
    
    bSizer14->Add(bSizerWarnings, 1, wxEXPAND, 5);
    
    m_staticText17 = new wxStaticText(m_panelPatterns, wxID_ANY, _("Compiler Warnings Patterns:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizerWarnings->Add(m_staticText17, 0, wxALL, 5);
    
    bSizer251 = new wxBoxSizer(wxHORIZONTAL);
    
    bSizerWarnings->Add(bSizer251, 1, wxEXPAND, 5);
    
    m_listWarnPatterns = new wxListCtrl(m_panelPatterns, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxLC_VRULES|wxLC_HRULES|wxLC_SINGLE_SEL|wxLC_REPORT);
    
    bSizer251->Add(m_listWarnPatterns, 1, wxALL|wxEXPAND, 5);
    
    bSizer261 = new wxBoxSizer(wxVERTICAL);
    
    bSizer251->Add(bSizer261, 0, 0, 5);
    
    m_btnAddWarnPattern = new wxButton(m_panelPatterns, wxID_ANY, _("Add"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_btnAddWarnPattern->SetToolTip(_("Add new warning pattern"));
    
    bSizer261->Add(m_btnAddWarnPattern, 0, wxALL|wxEXPAND, 5);
    
    m_btnDelWarnPattern = new wxButton(m_panelPatterns, wxID_ANY, _("Delete"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_btnDelWarnPattern->SetToolTip(_("Delete the selected warning pattern"));
    
    bSizer261->Add(m_btnDelWarnPattern, 0, wxALL|wxEXPAND, 5);
    
    m_btnUpdateWarnPattern = new wxButton(m_panelPatterns, wxID_ANY, _("Edit..."), wxDefaultPosition, wxSize(-1, -1), 0);
    m_btnUpdateWarnPattern->SetToolTip(_("Edit the selected warning pattern"));
    
    bSizer261->Add(m_btnUpdateWarnPattern, 0, wxALL|wxEXPAND, 5);
    
    m_panelComilerOptions = new wxPanel(m_auiBook, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_auiBook->AddPage(m_panelComilerOptions, _("Compiler Options"), false);
    
    bSizer101 = new wxBoxSizer(wxVERTICAL);
    m_panelComilerOptions->SetSizer(bSizer101);
    
    m_staticText23_O = new wxStaticText(m_panelComilerOptions, wxID_ANY, _("Double click on an entry to modify it:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer101->Add(m_staticText23_O, 0, wxALL|wxEXPAND, 5);
    
    bSizer12_CmpOptions = new wxBoxSizer(wxHORIZONTAL);
    
    bSizer101->Add(bSizer12_CmpOptions, 1, wxEXPAND, 5);
    
    m_listCompilerOptions = new wxListCtrl(m_panelComilerOptions, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxLC_VRULES|wxLC_HRULES|wxLC_SINGLE_SEL|wxLC_REPORT);
    
    bSizer12_CmpOptions->Add(m_listCompilerOptions, 1, wxALL|wxEXPAND, 5);
    
    bSizer_1 = new wxBoxSizer(wxVERTICAL);
    
    bSizer12_CmpOptions->Add(bSizer_1, 0, wxEXPAND, 5);
    
    m_buttonCompilerOption = new wxButton(m_panelComilerOptions, wxID_ANY, _("New..."), wxDefaultPosition, wxSize(-1, -1), 0);
    m_buttonCompilerOption->SetDefault();
    
    bSizer_1->Add(m_buttonCompilerOption, 0, wxALL, 5);
    
    m_buttonDeleteCompilerOption = new wxButton(m_panelComilerOptions, wxID_ANY, _("Delete"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer_1->Add(m_buttonDeleteCompilerOption, 0, wxALL, 5);
    
    m_panelLinkerOptions = new wxPanel(m_auiBook, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_auiBook->AddPage(m_panelLinkerOptions, _("Linker Options"), false);
    
    bSizer105 = new wxBoxSizer(wxVERTICAL);
    m_panelLinkerOptions->SetSizer(bSizer105);
    
    m_staticText23_L = new wxStaticText(m_panelLinkerOptions, wxID_ANY, _("Double click on an entry to modify it:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer105->Add(m_staticText23_L, 0, wxALL|wxEXPAND, 5);
    
    bSizer123 = new wxBoxSizer(wxHORIZONTAL);
    
    bSizer105->Add(bSizer123, 1, wxEXPAND, 5);
    
    m_listLinkerOptions = new wxListCtrl(m_panelLinkerOptions, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxLC_VRULES|wxLC_HRULES|wxLC_SINGLE_SEL|wxLC_REPORT);
    
    bSizer123->Add(m_listLinkerOptions, 1, wxALL|wxEXPAND, 5);
    
    bSizer_2 = new wxBoxSizer(wxVERTICAL);
    
    bSizer123->Add(bSizer_2, 0, wxEXPAND, 5);
    
    m_buttonLinkerOption = new wxButton(m_panelLinkerOptions, wxID_ANY, _("New..."), wxDefaultPosition, wxSize(-1, -1), 0);
    m_buttonLinkerOption->SetDefault();
    
    bSizer_2->Add(m_buttonLinkerOption, 0, wxALL, 5);
    
    m_buttonDeleteLinkerOption = new wxButton(m_panelLinkerOptions, wxID_ANY, _("Delete"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer_2->Add(m_buttonDeleteLinkerOption, 0, wxALL, 5);
    
    m_panelCompilerSwitches = new wxPanel(m_auiBook, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_auiBook->AddPage(m_panelCompilerSwitches, _("Switches"), false);
    
    mainSizer = new wxBoxSizer(wxVERTICAL);
    m_panelCompilerSwitches->SetSizer(mainSizer);
    
    m_staticText8 = new wxStaticText(m_panelCompilerSwitches, wxID_ANY, _("Double click on an entry to modify it:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    mainSizer->Add(m_staticText8, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_listSwitches = new wxListCtrl(m_panelCompilerSwitches, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxLC_VRULES|wxLC_HRULES|wxLC_SINGLE_SEL|wxLC_REPORT);
    
    mainSizer->Add(m_listSwitches, 1, wxALL|wxEXPAND, 5);
    
    m_panelFileTypes = new wxPanel(m_auiBook, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_auiBook->AddPage(m_panelFileTypes, _("File Types"), false);
    
    bSizer10 = new wxBoxSizer(wxVERTICAL);
    m_panelFileTypes->SetSizer(bSizer10);
    
    m_staticText23 = new wxStaticText(m_panelFileTypes, wxID_ANY, _("Double click on an entry to modify it:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer10->Add(m_staticText23, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
    
    bSizer12 = new wxBoxSizer(wxHORIZONTAL);
    
    bSizer10->Add(bSizer12, 1, wxALL|wxEXPAND, 5);
    
    m_listCtrlFileTypes = new wxListCtrl(m_panelFileTypes, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxLC_VRULES|wxLC_HRULES|wxLC_SINGLE_SEL|wxLC_REPORT);
    
    bSizer12->Add(m_listCtrlFileTypes, 1, wxALL|wxEXPAND, 5);
    
    bSizer111 = new wxBoxSizer(wxVERTICAL);
    
    bSizer12->Add(bSizer111, 0, wxEXPAND, 5);
    
    m_buttonNewFileType = new wxButton(m_panelFileTypes, wxID_ANY, _("New..."), wxDefaultPosition, wxSize(-1, -1), 0);
    m_buttonNewFileType->SetDefault();
    
    bSizer111->Add(m_buttonNewFileType, 0, wxALL, 5);
    
    m_buttonDeleteFileType = new wxButton(m_panelFileTypes, wxID_ANY, _("Delete"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer111->Add(m_buttonDeleteFileType, 0, wxALL, 5);
    
    m_panelAdvanced = new wxPanel(m_auiBook, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_auiBook->AddPage(m_panelAdvanced, _("Advanced"), false);
    
    bSizer11 = new wxBoxSizer(wxVERTICAL);
    m_panelAdvanced->SetSizer(bSizer11);
    
    bSizer7 = new wxBoxSizer(wxVERTICAL);
    
    bSizer11->Add(bSizer7, 0, wxALL|wxEXPAND, 5);
    
    fgSizer3 = new wxFlexGridSizer(0, 3, 0, 0);
    fgSizer3->SetFlexibleDirection( wxBOTH );
    fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    fgSizer3->AddGrowableCol(1);
    
    bSizer7->Add(fgSizer3, 0, wxEXPAND, 5);
    
    m_staticText18 = new wxStaticText(m_panelAdvanced, wxID_ANY, _("Global Paths"), wxDefaultPosition, wxSize(-1, -1), 0);
    wxFont m_staticText18Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
    m_staticText18Font.SetWeight(wxFONTWEIGHT_BOLD);
    m_staticText18->SetFont(m_staticText18Font);
    
    fgSizer3->Add(m_staticText18, 0, wxALL|wxALIGN_RIGHT, 5);
    
    fgSizer3->Add(0, 0, 0, wxALL, 5);
    
    fgSizer3->Add(0, 0, 1, wxALL, 5);
    
    m_staticText141 = new wxStaticText(m_panelAdvanced, wxID_ANY, _("Include Path:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    fgSizer3->Add(m_staticText141, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
    
    m_textCtrlGlobalIncludePath = new wxTextCtrl(m_panelAdvanced, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_textCtrlGlobalIncludePath->SetToolTip(_("Set here an additional include paths. Each path should be separated with a semi-colon\nNote that usually you don't need to modify this field and it should be left empty"));
    #if wxVERSION_NUMBER >= 3000
    m_textCtrlGlobalIncludePath->SetHint(wxT(""));
    #endif
    
    fgSizer3->Add(m_textCtrlGlobalIncludePath, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
    
    m_button67 = new wxButton(m_panelAdvanced, wxID_ANY, _("Edit..."), wxDefaultPosition, wxSize(-1,-1), 0);
    
    fgSizer3->Add(m_button67, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
    
    m_staticText16 = new wxStaticText(m_panelAdvanced, wxID_ANY, _("Libraries Path:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    fgSizer3->Add(m_staticText16, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
    
    m_textCtrlGlobalLibPath = new wxTextCtrl(m_panelAdvanced, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_textCtrlGlobalLibPath->SetToolTip(_("Set here an additional library search paths. Each path should be separated with a semi-colon\nNote that usually you don't need to modify this field and it should be left empty"));
    #if wxVERSION_NUMBER >= 3000
    m_textCtrlGlobalLibPath->SetHint(wxT(""));
    #endif
    
    fgSizer3->Add(m_textCtrlGlobalLibPath, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
    
    m_button69 = new wxButton(m_panelAdvanced, wxID_ANY, _("Edit..."), wxDefaultPosition, wxSize(-1,-1), 0);
    
    fgSizer3->Add(m_button69, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
    
    m_staticText19 = new wxStaticText(m_panelAdvanced, wxID_ANY, _("Misc"), wxDefaultPosition, wxSize(-1, -1), 0);
    wxFont m_staticText19Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
    m_staticText19Font.SetWeight(wxFONTWEIGHT_BOLD);
    m_staticText19->SetFont(m_staticText19Font);
    
    fgSizer3->Add(m_staticText19, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
    
    fgSizer3->Add(0, 0, 0, wxALL, 5);
    
    fgSizer3->Add(0, 0, 1, wxALL, 5);
    
    m_staticText3 = new wxStaticText(m_panelAdvanced, wxID_ANY, _("Objects extension:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    fgSizer3->Add(m_staticText3, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
    
    m_textObjectExtension = new wxTextCtrl(m_panelAdvanced, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    #if wxVERSION_NUMBER >= 3000
    m_textObjectExtension->SetHint(wxT(""));
    #endif
    
    fgSizer3->Add(m_textObjectExtension, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
    
    fgSizer3->Add(0, 0, 1, wxALL, 5);
    
    m_staticText24 = new wxStaticText(m_panelAdvanced, wxID_ANY, _("Depends extension:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    fgSizer3->Add(m_staticText24, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
    
    m_textDependExtension = new wxTextCtrl(m_panelAdvanced, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    #if wxVERSION_NUMBER >= 3000
    m_textDependExtension->SetHint(wxT(""));
    #endif
    
    fgSizer3->Add(m_textDependExtension, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
    
    fgSizer3->Add(0, 0, 1, wxALL, 5);
    
    m_staticText25 = new wxStaticText(m_panelAdvanced, wxID_ANY, _("Preprocessed extension:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    fgSizer3->Add(m_staticText25, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
    
    m_textPreprocessExtension = new wxTextCtrl(m_panelAdvanced, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    #if wxVERSION_NUMBER >= 3000
    m_textPreprocessExtension->SetHint(wxT(""));
    #endif
    
    fgSizer3->Add(m_textPreprocessExtension, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
    
    fgSizer3->Add(0, 0, 0, wxALL, 5);
    
    fgSizer3->Add(0, 0, 1, wxALL, 5);
    
    m_checkBoxGenerateDependenciesFiles = new wxCheckBox(m_panelAdvanced, wxID_ANY, _("Generate dependencies files (*.o.d)"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkBoxGenerateDependenciesFiles->SetValue(false);
    
    fgSizer3->Add(m_checkBoxGenerateDependenciesFiles, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
    
    fgSizer3->Add(0, 0, 1, wxALL, 5);
    
    fgSizer3->Add(0, 0, 0, wxALL, 5);
    
    m_checkBoxObjectNameSameAsFileName = new wxCheckBox(m_panelAdvanced, wxID_ANY, _("Object name is same as the file name"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkBoxObjectNameSameAsFileName->SetValue(false);
    m_checkBoxObjectNameSameAsFileName->SetToolTip(_("By default, codelite will prepend the relative directory to the file name to compose an object name (e.g. src/a.cpp will generate object: src_a.o).\nUncheck this option to make the object name exactly as the file name without any prefixes"));
    
    fgSizer3->Add(m_checkBoxObjectNameSameAsFileName, 0, wxALL, 5);
    
    fgSizer3->Add(0, 0, 1, wxALL, 5);
    
    fgSizer3->Add(0, 0, 0, wxALL, 5);
    
    m_checkBoxReadObjectsFromFile = new wxCheckBox(m_panelAdvanced, wxID_ANY, _("Pass object list to the linker via file"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkBoxReadObjectsFromFile->SetValue(false);
    
    fgSizer3->Add(m_checkBoxReadObjectsFromFile, 0, wxALL, 5);
    
    SetName(wxT("CompilerMainPageBase"));
    SetSizeHints(-1,-1);
    if ( GetSizer() ) {
         GetSizer()->Fit(this);
    }
    CentreOnParent(wxBOTH);
    // Connect events
    m_button222->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnAddCompilers), NULL, this);
    m_listBoxCompilers->Connect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(CompilerMainPageBase::OnCompilerSelected), NULL, this);
    m_listBoxCompilers->Connect(wxEVT_CONTEXT_MENU, wxContextMenuEventHandler(CompilerMainPageBase::OnContextMenu), NULL, this);
    m_pgMgrTools->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnCustomEditorButtonClicked), NULL, this);
    m_pgMgrTools->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CompilerMainPageBase::OnValueChanged), NULL, this);
    m_listErrPatterns->Connect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnErrItemActivated), NULL, this);
    m_btnAddErrPattern->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnAddErrPattern), NULL, this);
    m_btnDelErrPattern->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnDelErrPattern), NULL, this);
    m_btnDelErrPattern->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnErrorPatternSelectedUI), NULL, this);
    m_btnUpdateErrPattern->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnUpdateErrPattern), NULL, this);
    m_btnUpdateErrPattern->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnErrorPatternSelectedUI), NULL, this);
    m_listWarnPatterns->Connect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnWarnItemActivated), NULL, this);
    m_btnAddWarnPattern->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnAddWarnPattern), NULL, this);
    m_btnDelWarnPattern->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnDelWarnPattern), NULL, this);
    m_btnDelWarnPattern->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnWarningPatternSelectedUI), NULL, this);
    m_btnUpdateWarnPattern->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnBtnUpdateWarnPattern), NULL, this);
    m_btnUpdateWarnPattern->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CompilerMainPageBase::OnWarningPatternSelectedUI), NULL, this);
    m_listCompilerOptions->Connect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnCompilerOptionActivated), NULL, this);
    m_listCompilerOptions->Connect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(CompilerMainPageBase::OnCompilerOptionDeSelected), NULL, this);
    m_listCompilerOptions->Connect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnCompilerOptionSelected), NULL, this);
    m_buttonCompilerOption->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnNewCompilerOption), NULL, this);
    m_buttonDeleteCompilerOption->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnDeleteCompilerOption), NULL, this);
    m_listLinkerOptions->Connect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnLinkerOptionActivated), NULL, this);
    m_listLinkerOptions->Connect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(CompilerMainPageBase::OnLinkerOptionDeSelected), NULL, this);
    m_listLinkerOptions->Connect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnLinkerOptionSelected), NULL, this);
    m_buttonLinkerOption->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnNewLinkerOption), NULL, this);
    m_buttonDeleteLinkerOption->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnDeleteLinkerOption), NULL, this);
    m_listSwitches->Connect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnItemActivated), NULL, this);
    m_listSwitches->Connect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnItemSelected), NULL, this);
    m_listCtrlFileTypes->Connect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(CompilerMainPageBase::OnFileTypeActivated), NULL, this);
    m_listCtrlFileTypes->Connect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(CompilerMainPageBase::OnFileTypeDeSelected), NULL, this);
    m_listCtrlFileTypes->Connect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(CompilerMainPageBase::OnFileTypeSelected), NULL, this);
    m_buttonNewFileType->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnNewFileType), NULL, this);
    m_buttonDeleteFileType->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnDeleteFileType), NULL, this);
    m_textCtrlGlobalIncludePath->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_button67->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnEditIncludePaths), NULL, this);
    m_textCtrlGlobalLibPath->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_button69->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnEditLibraryPaths), NULL, this);
    m_textObjectExtension->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_textDependExtension->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_textPreprocessExtension->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_checkBoxGenerateDependenciesFiles->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_checkBoxObjectNameSameAsFileName->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    m_checkBoxReadObjectsFromFile->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(CompilerMainPageBase::OnCmdModify), NULL, this);
    
}
示例#23
0
GNC::GUI::AnonymizePanel::~AnonymizePanel()
{
        m_pTagsList->Disconnect(wxEVT_PG_CHANGED,wxPropertyGridEventHandler(AnonymizePanel::OnPropertyChanged),NULL,this);
        m_pTagsList->Disconnect(wxEVT_PG_DOUBLE_CLICK,wxPropertyGridEventHandler(AnonymizePanel::OnPropertyDobleClick),NULL,this);
}
示例#24
0
CEditCameraWnd::CEditCameraWnd(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &pos, const wxSize &size, long style, const wxString &name)
    : super(parent, id, title, pos, size, style, name)
    , m_pPropertyGrid(NULL)
    , m_pPosX(NULL)
    , m_pPosY(NULL)
    , m_pPosZ(NULL)
    , m_pRotationX(NULL)
    , m_pRotationY(NULL)
    , m_pRotationZ(NULL)
    , m_pSpeed(NULL)
    , m_pShiftMoveSpeedRate(NULL)
    , m_pFov(NULL)
{
    wxBoxSizer* pMainSizer = new wxBoxSizer(wxVERTICAL);
    SetSizer(pMainSizer);
    m_pPropertyGrid = new wxPropertyGrid(this, wxID_ANY, wxDefaultPosition, wxSize(400,400),
                                            wxPG_SPLITTER_AUTO_CENTER | wxPG_BOLD_MODIFIED );

    wxPGProperty* topId = m_pPropertyGrid->Append( new wxStringProperty(wxT("Pos"), wxPG_LABEL, wxT("<composed>")) );
    m_pPosX = m_pPropertyGrid->AppendIn( topId, new wxFloatProperty(wxT("x"), wxT("PosX")) );
    AddSpinCtrl(m_pPosX);
    m_pPosY = m_pPropertyGrid->AppendIn( topId, new wxFloatProperty(wxT("y"), wxT("PosY")) );
    AddSpinCtrl(m_pPosY);
    m_pPosZ = m_pPropertyGrid->AppendIn( topId, new wxFloatProperty(wxT("z"), wxT("PosZ")) );
    AddSpinCtrl(m_pPosZ);
    topId = m_pPropertyGrid->Append( new wxStringProperty(wxT("Rotate"), wxPG_LABEL, wxT("<composed>")) );
    m_pRotationX = m_pPropertyGrid->AppendIn( topId, new wxFloatProperty(wxT("x"), wxT("LookAtX")) );
    AddSpinCtrl(m_pRotationX);
    m_pRotationY = m_pPropertyGrid->AppendIn( topId, new wxFloatProperty(wxT("y"), wxT("LookAtY")) );
    AddSpinCtrl(m_pRotationY);
    m_pRotationZ = m_pPropertyGrid->AppendIn( topId, new wxFloatProperty(wxT("z"), wxT("LookAtZ")) );
    AddSpinCtrl(m_pRotationZ);

    topId = m_pPropertyGrid->Append( new wxStringProperty(wxT("Clip"), wxPG_LABEL, wxT("<composed>")) );
    m_pClipNear = m_pPropertyGrid->AppendIn( topId, new wxFloatProperty(wxT("Near"), wxT("Near")) );
    AddSpinCtrl(m_pClipNear);
    m_pClipFar = m_pPropertyGrid->AppendIn( topId, new wxFloatProperty(wxT("Far"), wxT("Far")) );
    AddSpinCtrl(m_pClipFar);

    m_pSpeed = m_pPropertyGrid->Append( new wxFloatProperty(wxT("Speed"), wxT("Speed"), 0.0f) );
    AddSpinCtrl(m_pSpeed);
    m_pShiftMoveSpeedRate = m_pPropertyGrid->Append(new wxFloatProperty(wxT("ShiftMoveSpeedRate"), wxT("ShiftMoveSpeedRate"), 0.0f));
    AddSpinCtrl(m_pShiftMoveSpeedRate);
    m_pFov = m_pPropertyGrid->Append( new wxFloatProperty(wxT("Fov"), wxT("Fov"), 0.0f) );
    AddSpinCtrl(m_pFov);

    pMainSizer->Add(m_pPropertyGrid, 1, wxALL, 5);

    wxBoxSizer* pBtnSizer = new wxBoxSizer(wxHORIZONTAL);
    m_pSaveAsSceneInitBtn = new wxButton(this, wxID_ANY, _T("设为起始参数"));
    pBtnSizer->Add(m_pSaveAsSceneInitBtn, 0, wxALL, 5);
    m_pLoadSceneInitBtn = new wxButton(this, wxID_ANY, _T("恢复初始状态"));
    pBtnSizer->Add(m_pLoadSceneInitBtn, 0, wxALL, 5);
    pMainSizer->Add(pBtnSizer, 0, wxALL, 0);

    SCameraParam* pCameraParam = CEditorConfig::GetInstance()->GetCameraParam();
    m_pPosX->SetValue(pCameraParam->fPosX);
    m_pPosY->SetValue(pCameraParam->fPosY);
    m_pPosZ->SetValue(pCameraParam->fPosZ);
    m_pRotationX->SetValue(pCameraParam->fRotationX);
    m_pRotationY->SetValue(pCameraParam->fRotationY);
    m_pRotationZ->SetValue(pCameraParam->fRotationZ);
    m_pClipNear->SetValue(pCameraParam->fClipNear);
    m_pClipFar->SetValue(pCameraParam->fClipFar);
    m_pSpeed->SetValue(pCameraParam->fSpeed);
    m_pShiftMoveSpeedRate->SetValue(pCameraParam->fShiftMoveSpeedRate);
    m_pFov->SetValue(pCameraParam->fFov);

    this->Connect(wxEVT_CLOSE_WINDOW, wxCloseEventHandler(CEditCameraWnd::OnClose), NULL, this);
    m_pPropertyGrid->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CEditCameraWnd::OnPropertyChanged), NULL, this);
    m_pSaveAsSceneInitBtn->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CEditCameraWnd::OnSaveAsSceneInitClicked), NULL, this);
    m_pLoadSceneInitBtn->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CEditCameraWnd::OnLoadSceneInitClicked), NULL, this);
    
}
示例#25
0
HelpPluginSettingsDlgBase::HelpPluginSettingsDlgBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
    : wxDialog(parent, id, title, pos, size, style)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxC10DEInitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxBoxSizer* boxSizer24 = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(boxSizer24);
    
    wxBoxSizer* boxSizer32 = new wxBoxSizer(wxVERTICAL);
    
    boxSizer24->Add(boxSizer32, 1, wxALL|wxEXPAND, 5);
    
    wxArrayString m_pgMgr34Arr;
    wxUnusedVar(m_pgMgr34Arr);
    wxArrayInt m_pgMgr34IntArr;
    wxUnusedVar(m_pgMgr34IntArr);
    m_pgMgr34 = new wxPropertyGridManager(this, wxID_ANY, wxDefaultPosition, wxSize(500,300), wxPG_DESCRIPTION|wxPG_SPLITTER_AUTO_CENTER|wxPG_BOLD_MODIFIED);
    
    boxSizer32->Add(m_pgMgr34, 1, wxALL|wxEXPAND, 5);
    
    m_pgProp36 = m_pgMgr34->Append(  new wxPropertyCategory( _("Docsets") ) );
    m_pgProp36->SetHelpString(wxT(""));
    
    m_pgPropCxx = m_pgMgr34->AppendIn( m_pgProp36,  new wxLongStringProperty( _("C/C++"), wxPG_LABEL, _("c++,net,boost,qt 4,qt 5,cvcpp,cocos2dx,c,manpages")) );
    m_pgPropCxx->SetHelpString(_("Set a list of docsets to use when requesting help while inside a C/C++ files (comma separated list)"));
    
    m_pgPropPHP = m_pgMgr34->AppendIn( m_pgProp36,  new wxLongStringProperty( _("PHP"), wxPG_LABEL, _("php,wordpress,drupal,zend,laravel,yii,joomla,ee,codeigniter,cakephp,phpunit,symfony,typo3,twig,smarty,phpp,html,statamic,mysql,sqlite,mongodb,psql,redis,zend framework 1,zend framework 2")) );
    m_pgPropPHP->SetHelpString(_("Set a list of docsets to use when requesting help while inside a PHP files (comma separated list)"));
    
    m_pgPropCMake = m_pgMgr34->AppendIn( m_pgProp36,  new wxLongStringProperty( _("CMake"), wxPG_LABEL, _("cmake")) );
    m_pgPropCMake->SetHelpString(_("Set a list of docsets to use when requesting help while inside a CMake files (comma separated list)"));
    
    m_pgPropHtml = m_pgMgr34->AppendIn( m_pgProp36,  new wxLongStringProperty( _("HTML"), wxPG_LABEL, _("html,svg,css,bootstrap,less,foundation,awesome,statamic,javascript,jquery,jqueryui,jquerym,angularjs,backbone,marionette,meteor,moo,prototype,ember,lodash,underscore,sencha,extjs,knockout,zepto,cordova,phonegap,yu")) );
    m_pgPropHtml->SetHelpString(_("Set a list of docsets to use when requesting help while inside an HTML files (comma separated list)"));
    
    m_pgPropCSS = m_pgMgr34->AppendIn( m_pgProp36,  new wxLongStringProperty( _("CSS"), wxPG_LABEL, _("html,svg,css,bootstrap,less,foundation,awesome,statamic,javascript,jquery,jqueryui,jquerym,angularjs,backbone,marionette,meteor,moo,prototype,ember,lodash,underscore,sencha,extjs,knockout,zepto,cordova,phonegap,yu")) );
    m_pgPropCSS->SetHelpString(_("Set a list of docsets to use when requesting help while inside an CSS files (comma separated list)"));
    
    m_pgPropJS = m_pgMgr34->AppendIn( m_pgProp36,  new wxLongStringProperty( _("JavaScript"), wxPG_LABEL, _("html,svg,css,bootstrap,less,foundation,awesome,statamic,javascript,jquery,jqueryui,jquerym,angularjs,backbone,marionette,meteor,moo,prototype,ember,lodash,underscore,sencha,extjs,knockout,zepto,cordova,phonegap,yu")) );
    m_pgPropJS->SetHelpString(_("Set a list of docsets to use when requesting help while inside a JavaScript files (comma separated list)"));
    
    m_pgPropJava = m_pgMgr34->AppendIn( m_pgProp36,  new wxLongStringProperty( _("Java"), wxPG_LABEL, _("java,javafx,grails,groovy,playjava,spring,cvj,processing")) );
    m_pgPropJava->SetHelpString(_("Set a list of docsets to use when requesting help while inside a Java files (comma separated list)"));
    
    m_stdBtnSizer26 = new wxStdDialogButtonSizer();
    
    boxSizer24->Add(m_stdBtnSizer26, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_button28 = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_stdBtnSizer26->AddButton(m_button28);
    
    m_button30 = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_button30->SetDefault();
    m_stdBtnSizer26->AddButton(m_button30);
    m_stdBtnSizer26->Realize();
    
    SetName(wxT("HelpPluginSettingsDlgBase"));
    SetSizeHints(-1,-1);
    if ( GetSizer() ) {
         GetSizer()->Fit(this);
    }
    CentreOnParent(wxBOTH);
#if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(this)) {
        wxPersistenceManager::Get().RegisterAndRestore(this);
    } else {
        wxPersistenceManager::Get().Restore(this);
    }
#endif
    // Connect events
    m_pgMgr34->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(HelpPluginSettingsDlgBase::OnDocsetChanged), NULL, this);
    m_button30->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(HelpPluginSettingsDlgBase::OnOKUI), NULL, this);
    m_button30->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(HelpPluginSettingsDlgBase::OnOK), NULL, this);
    
}
示例#26
0
CodeFormatterBaseDlg::CodeFormatterBaseDlg(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
    : wxDialog(parent, id, title, pos, size, style)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxCrafterGgLOZbInitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxBoxSizer* bSizerMain = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(bSizerMain);
    
    m_splitterSettingsPreview = new wxSplitterWindow(this, wxID_ANY, wxDefaultPosition, wxSize(400,-1), wxSP_LIVE_UPDATE|wxSP_NO_XP_THEME|wxSP_3DSASH);
    m_splitterSettingsPreview->SetSashGravity(0.5);
    m_splitterSettingsPreview->SetMinimumPaneSize(50);
    
    bSizerMain->Add(m_splitterSettingsPreview, 1, wxEXPAND, 5);
    
    m_panelSettings = new wxPanel(m_splitterSettingsPreview, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL);
    
    wxBoxSizer* bSizerSettings = new wxBoxSizer(wxVERTICAL);
    m_panelSettings->SetSizer(bSizerSettings);
    
    m_splitter16 = new wxSplitterWindow(m_panelSettings, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxSP_LIVE_UPDATE|wxSP_NO_XP_THEME|wxSP_3DSASH);
    m_splitter16->SetSashGravity(1);
    m_splitter16->SetMinimumPaneSize(100);
    
    bSizerSettings->Add(m_splitter16, 1, wxEXPAND, 5);
    
    m_splitterPage20 = new wxPanel(m_splitter16, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    
    wxBoxSizer* boxSizer26 = new wxBoxSizer(wxVERTICAL);
    m_splitterPage20->SetSizer(boxSizer26);
    
    wxArrayString m_pgMgrArr;
    wxUnusedVar(m_pgMgrArr);
    wxArrayInt m_pgMgrIntArr;
    wxUnusedVar(m_pgMgrIntArr);
    m_pgMgr = new wxPropertyGridManager(m_splitterPage20, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxPG_DESCRIPTION|wxPG_SPLITTER_AUTO_CENTER);
    m_pgMgr->SetFocus();
    
    boxSizer26->Add(m_pgMgr, 1, wxALL|wxEXPAND, 5);
    
    m_pgPropGeneral = m_pgMgr->Append(  new wxPropertyCategory( _("General Options") ) );
    m_pgPropGeneral->SetHelpString(_("General Options"));
    
    m_pgPropAutoSave = m_pgMgr->AppendIn( m_pgPropGeneral,  new wxBoolProperty( _("Format file OnSave"), wxPG_LABEL, 0) );
    m_pgPropAutoSave->SetHelpString(_("Auto format the file before saving it"));
    
    m_pgPropCXX = m_pgMgr->Append(  new wxPropertyCategory( _("C++") ) );
    m_pgPropCXX->SetHelpString(_("C++ Related Settings"));
    
    m_pgMgrArr.Clear();
    m_pgMgrIntArr.Clear();
    m_pgMgrArr.Add(_("AStyle"));
    m_pgMgrArr.Add(_("clang-format"));
    m_pgMgrIntArr.Add(kFormatEngineAStyle);
    m_pgMgrIntArr.Add(kFormatEngineClangFormat);
    m_pgPropEngine = m_pgMgr->AppendIn( m_pgPropCXX,  new wxEnumProperty( _("C++ Formatter Tool"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) );
    m_pgPropEngine->SetHelpString(_("Select the formatter tool to use for the C,C++,Java and JavaScript language"));
    
    m_pgPropAstyleOptions = m_pgMgr->AppendIn( m_pgPropCXX,  new wxPropertyCategory( _("AStyle Options") ) );
    m_pgPropAstyleOptions->SetHelpString(wxT(""));
    
    m_pgMgrArr.Clear();
    m_pgMgrIntArr.Clear();
    m_pgMgrArr.Add(_("GNU"));
    m_pgMgrArr.Add(_("Java"));
    m_pgMgrArr.Add(_("K&R"));
    m_pgMgrArr.Add(_("Linux"));
    m_pgMgrArr.Add(_("ANSI"));
    m_pgPropPreDefinedStyles = m_pgMgr->AppendIn( m_pgPropAstyleOptions,  new wxEnumProperty( _("PreDefined Styles"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) );
    m_pgPropPreDefinedStyles->SetHelpString(_("Choose the formatting from one of the known styles"));
    
    m_pgMgrArr.Clear();
    m_pgMgrIntArr.Clear();
    m_pgMgrArr.Add(_("Break closing"));
    m_pgMgrArr.Add(_("Attach"));
    m_pgMgrArr.Add(_("Linux"));
    m_pgMgrArr.Add(_("Break"));
    m_pgMgrArr.Add(_("None"));
    m_pgPropBrackets = m_pgMgr->AppendIn( m_pgPropAstyleOptions,  new wxEnumProperty( _("Brackets"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) );
    m_pgPropBrackets->SetHelpString(_("Bracket Style options define the bracket style to use"));
    
    m_pgMgrArr.Clear();
    m_pgMgrIntArr.Clear();
    m_pgMgrArr.Add(_("Class"));
    m_pgMgrArr.Add(_("Brackets"));
    m_pgMgrArr.Add(_("Switches"));
    m_pgMgrArr.Add(_("Namespaces"));
    m_pgMgrArr.Add(_("Case"));
    m_pgMgrArr.Add(_("Labels"));
    m_pgMgrArr.Add(_("Blocks"));
    m_pgMgrArr.Add(_("Preprocessors"));
    m_pgMgrArr.Add(_("Max Instatement Indent"));
    m_pgMgrArr.Add(_("Min Instatement Indent"));
    m_pgMgrIntArr.Add(AS_INDENT_CLASS);
    m_pgMgrIntArr.Add(AS_INDENT_BRACKETS);
    m_pgMgrIntArr.Add(AS_INDENT_SWITCHES);
    m_pgMgrIntArr.Add(AS_INDENT_NAMESPACES);
    m_pgMgrIntArr.Add(AS_INDENT_CASE);
    m_pgMgrIntArr.Add(AS_INDENT_LABELS);
    m_pgMgrIntArr.Add(AS_INDENT_BLOCKS);
    m_pgMgrIntArr.Add(AS_INDENT_PREPROCESSORS);
    m_pgMgrIntArr.Add(AS_MAX_INSTATEMENT_INDENT);
    m_pgMgrIntArr.Add(AS_MIN_COND_INDENT);
    m_pgPropIndentation = m_pgMgr->AppendIn( m_pgPropAstyleOptions,  new wxFlagsProperty( _("Indentation"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) );
    m_pgPropIndentation->SetHelpString(wxT(""));
    
    m_pgMgrArr.Clear();
    m_pgMgrIntArr.Clear();
    m_pgMgrArr.Add(_("Break Blocks"));
    m_pgMgrArr.Add(_("Pad Parenthesis"));
    m_pgMgrArr.Add(_("Break Blocks All"));
    m_pgMgrArr.Add(_("Pad Parenthesis Outside"));
    m_pgMgrArr.Add(_("Break else-if"));
    m_pgMgrArr.Add(_("Pad Parenthesis Inside"));
    m_pgMgrArr.Add(_("Pad Operators"));
    m_pgMgrArr.Add(_("UnPad Parenthesis"));
    m_pgMgrArr.Add(_("One Line Keep Statement"));
    m_pgMgrArr.Add(_("Fill Empty Lines"));
    m_pgMgrArr.Add(_("One Line Keep Blocks"));
    m_pgMgrIntArr.Add(AS_BREAK_BLOCKS);
    m_pgMgrIntArr.Add(AS_PAD_PARENTHESIS);
    m_pgMgrIntArr.Add(AS_BREAK_BLOCKS_ALL);
    m_pgMgrIntArr.Add(AS_PAD_PARENTHESIS_OUT);
    m_pgMgrIntArr.Add(AS_BREAK_ELSEIF);
    m_pgMgrIntArr.Add(AS_PAD_PARENTHESIS_IN);
    m_pgMgrIntArr.Add(AS_PAD_OPER);
    m_pgMgrIntArr.Add(AS_UNPAD_PARENTHESIS);
    m_pgMgrIntArr.Add(AS_ONE_LINE_KEEP_STATEMENT);
    m_pgMgrIntArr.Add(AS_FILL_EMPTY_LINES);
    m_pgMgrIntArr.Add(AS_ONE_LINE_KEEP_BLOCKS);
    m_pgPropFormatting = m_pgMgr->AppendIn( m_pgPropAstyleOptions,  new wxFlagsProperty( _("Formatting"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) );
    m_pgPropFormatting->SetHelpString(_("Select one or more formatting option from the list below"));
    
    m_pgPropClangFormat = m_pgMgr->AppendIn( m_pgPropCXX,  new wxPropertyCategory( _("ClangFormat Options") ) );
    m_pgPropClangFormat->SetHelpString(wxT(""));
    
    m_pgPropClangFormatExePath = m_pgMgr->AppendIn( m_pgPropClangFormat,  new wxFileProperty( _("clang-format path"), wxPG_LABEL, wxT("")) );
    m_pgMgr->SetPropertyAttribute(m_pgPropClangFormatExePath, wxPG_FILE_WILDCARD, wxT(""));
    m_pgPropClangFormatExePath->SetHelpString(_("Select the path to clang-format executable tool"));
    
    m_pgPropColumnLimit = m_pgMgr->AppendIn( m_pgPropClangFormat,  new wxIntProperty( _("Column Limit"), wxPG_LABEL, 0) );
    m_pgPropColumnLimit->SetHelpString(_("The column limit\nA column limit of 0 means that there is no column limit.\nIn this case, clang-format will respect the input's line breaking decisions within statements unless they contradict other rules"));
    
    m_pgMgrArr.Clear();
    m_pgMgrIntArr.Clear();
    m_pgMgrArr.Add(_("Linux"));
    m_pgMgrArr.Add(_("Attach"));
    m_pgMgrArr.Add(_("Stroustrup"));
    m_pgMgrArr.Add(_("Allman"));
    m_pgMgrArr.Add(_("GNU"));
    m_pgMgrIntArr.Add(kLinux);
    m_pgMgrIntArr.Add(kAttach);
    m_pgMgrIntArr.Add(kStroustrup);
    m_pgMgrIntArr.Add(kAllman);
    m_pgMgrIntArr.Add(kGNU);
    m_pgPropClangBraceBreakStyle = m_pgMgr->AppendIn( m_pgPropClangFormat,  new wxEnumProperty( _("Brace breaking style"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) );
    m_pgPropClangBraceBreakStyle->SetHelpString(_("The brace breaking style to use."));
    
    m_pgMgrArr.Clear();
    m_pgMgrIntArr.Clear();
    m_pgMgrArr.Add(_("LLVM"));
    m_pgMgrArr.Add(_("Google"));
    m_pgMgrArr.Add(_("WebKit"));
    m_pgMgrArr.Add(_("Chromium"));
    m_pgMgrArr.Add(_("Mozilla"));
    m_pgMgrIntArr.Add(kClangFormatLLVM);
    m_pgMgrIntArr.Add(kClangFormatGoogle);
    m_pgMgrIntArr.Add(kClangFormatWebKit);
    m_pgMgrIntArr.Add(kClangFormatChromium);
    m_pgMgrIntArr.Add(kClangFormatMozilla);
    m_pgPropClangFormatStyle = m_pgMgr->AppendIn( m_pgPropClangFormat,  new wxEnumProperty( _("Style"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) );
    m_pgPropClangFormatStyle->SetHelpString(_("Coding style"));
    
    m_pgMgrArr.Clear();
    m_pgMgrIntArr.Clear();
    m_pgMgrArr.Add(_("Align Escaped Newlines Left"));
    m_pgMgrArr.Add(_("Align Trailing Comments"));
    m_pgMgrArr.Add(_("Allow All Parameters Of Declaration On Next Line"));
    m_pgMgrArr.Add(_("Allow Short Functions On A Single Line"));
    m_pgMgrArr.Add(_("Allow Short Blocks On A Single Line"));
    m_pgMgrArr.Add(_("Allow Short Loops On A Single Line"));
    m_pgMgrArr.Add(_("Allow Short If Statements On A SingleLine"));
    m_pgMgrArr.Add(_("Always Break Before Multiline Strings"));
    m_pgMgrArr.Add(_("Always Break Template Declarations"));
    m_pgMgrArr.Add(_("Bin Pack Parameters"));
    m_pgMgrArr.Add(_("Break Before Binary Operators"));
    m_pgMgrArr.Add(_("Break Before Ternary Operators"));
    m_pgMgrArr.Add(_("Break Constructor Initializers Before Comma"));
    m_pgMgrArr.Add(_("Indent Case Labels"));
    m_pgMgrArr.Add(_("Indent Function DeclarationAfterType"));
    m_pgMgrArr.Add(_("Space Before Assignment Operators"));
    m_pgMgrArr.Add(_("Space Before Parentheses"));
    m_pgMgrArr.Add(_("Spaces In Parentheses"));
    m_pgMgrArr.Add(_("Pointer And Reference Aligned to the Right"));
    m_pgMgrIntArr.Add(kAlignEscapedNewlinesLeft);
    m_pgMgrIntArr.Add(kAlignTrailingComments);
    m_pgMgrIntArr.Add(kAllowAllParametersOfDeclarationOnNextLine);
    m_pgMgrIntArr.Add(kAllowShortFunctionsOnASingleLine);
    m_pgMgrIntArr.Add(kAllowShortBlocksOnASingleLine);
    m_pgMgrIntArr.Add(kAllowShortLoopsOnASingleLine);
    m_pgMgrIntArr.Add(kAllowShortIfStatementsOnASingleLine);
    m_pgMgrIntArr.Add(kAlwaysBreakBeforeMultilineStrings);
    m_pgMgrIntArr.Add(kAlwaysBreakTemplateDeclarations);
    m_pgMgrIntArr.Add(kBinPackParameters);
    m_pgMgrIntArr.Add(kBreakBeforeBinaryOperators);
    m_pgMgrIntArr.Add(kBreakBeforeTernaryOperators);
    m_pgMgrIntArr.Add(kBreakConstructorInitializersBeforeComma);
    m_pgMgrIntArr.Add(kIndentCaseLabels);
    m_pgMgrIntArr.Add(kIndentFunctionDeclarationAfterType);
    m_pgMgrIntArr.Add(kSpaceBeforeAssignmentOperators);
    m_pgMgrIntArr.Add(kSpaceBeforeParens);
    m_pgMgrIntArr.Add(kSpacesInParentheses);
    m_pgMgrIntArr.Add(kPointerAlignmentRight);
    m_pgPropClangFormattingOptions = m_pgMgr->AppendIn( m_pgPropClangFormat,  new wxFlagsProperty( _("Clang Formatting Options"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) );
    m_pgPropClangFormattingOptions->SetHelpString(wxT(""));
    
    m_pgPropPhpFormatter = m_pgMgr->Append(  new wxPropertyCategory( _("PHP") ) );
    m_pgPropPhpFormatter->SetHelpString(_("PHP related settings"));
    
    m_pgMgrArr.Clear();
    m_pgMgrIntArr.Clear();
    m_pgMgrArr.Add(_("Break before class"));
    m_pgMgrArr.Add(_("Break before function"));
    m_pgMgrArr.Add(_("Break before 'while'"));
    m_pgMgrArr.Add(_("Break before 'foreach'"));
    m_pgMgrArr.Add(_("'else' doesn't break"));
    m_pgMgrArr.Add(_("Break after 'heredoc' statement"));
    m_pgMgrIntArr.Add(kPFF_BreakBeforeClass);
    m_pgMgrIntArr.Add(kPFF_BreakBeforeFunction);
    m_pgMgrIntArr.Add(kPFF_BreakBeforeWhile);
    m_pgMgrIntArr.Add(kPFF_BreakBeforeForeach);
    m_pgMgrIntArr.Add(kPFF_ElseOnSameLineAsClosingCurlyBrace);
    m_pgMgrIntArr.Add(kPFF_BreakAfterHeredoc);
    m_pgPropPhpFormatterOptions = m_pgMgr->AppendIn( m_pgPropPhpFormatter,  new wxFlagsProperty( _("PHPFormatter Options"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) );
    m_pgPropPhpFormatterOptions->SetHelpString(wxT(""));
    
    m_splitterPage24 = new wxPanel(m_splitter16, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_splitter16->SplitHorizontally(m_splitterPage20, m_splitterPage24, 0);
    
    wxBoxSizer* boxSizer28 = new wxBoxSizer(wxVERTICAL);
    m_splitterPage24->SetSizer(boxSizer28);
    
    wxBoxSizer* bCustomSettingsSizer = new wxBoxSizer(wxVERTICAL);
    
    boxSizer28->Add(bCustomSettingsSizer, 1, wxEXPAND, 0);
    
    wxBoxSizer* boxSizer57 = new wxBoxSizer(wxHORIZONTAL);
    
    bCustomSettingsSizer->Add(boxSizer57, 0, wxEXPAND, 5);
    
    m_staticText59 = new wxStaticText(m_splitterPage24, wxID_ANY, _("AStyle Only:"), wxDefaultPosition, wxSize(-1,-1), 0);
    wxFont m_staticText59Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
    m_staticText59Font.SetWeight(wxFONTWEIGHT_BOLD);
    m_staticText59->SetFont(m_staticText59Font);
    
    boxSizer57->Add(m_staticText59, 0, wxALL, 5);
    
    m_staticText3 = new wxStaticText(m_splitterPage24, wxID_ANY, _("Custom user settings"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    boxSizer57->Add(m_staticText3, 0, wxALL, 5);
    
    m_textCtrlUserFlags = new wxTextCtrl(m_splitterPage24, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), wxTE_RICH2|wxTE_PROCESS_TAB|wxTE_PROCESS_ENTER|wxTE_MULTILINE);
    wxFont m_textCtrlUserFlagsFont(10, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxT("Sans"));
    m_textCtrlUserFlags->SetFont(m_textCtrlUserFlagsFont);
    
    bCustomSettingsSizer->Add(m_textCtrlUserFlags, 1, wxALL|wxEXPAND, 5);
    
    m_panelPreview = new wxPanel(m_splitterSettingsPreview, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_splitterSettingsPreview->SplitVertically(m_panelSettings, m_panelPreview, 0);
    
    wxBoxSizer* bPreviewSizer = new wxBoxSizer(wxHORIZONTAL);
    m_panelPreview->SetSizer(bPreviewSizer);
    
    m_notebook65 = new wxNotebook(m_panelPreview, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
    
    bPreviewSizer->Add(m_notebook65, 1, wxALL|wxEXPAND, 5);
    
    m_panel67 = new wxPanel(m_notebook65, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_notebook65->AddPage(m_panel67, _("C++ Preview"), false);
    
    wxBoxSizer* boxSizer71 = new wxBoxSizer(wxVERTICAL);
    m_panel67->SetSizer(boxSizer71);
    
    m_textCtrlPreview = new wxStyledTextCtrl(m_panel67, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), 0);
    // Configure the fold margin
    m_textCtrlPreview->SetMarginType     (4, wxSTC_MARGIN_SYMBOL);
    m_textCtrlPreview->SetMarginMask     (4, wxSTC_MASK_FOLDERS);
    m_textCtrlPreview->SetMarginSensitive(4, true);
    m_textCtrlPreview->SetMarginWidth    (4, 0);
    
    // Configure the tracker margin
    m_textCtrlPreview->SetMarginWidth(1, 0);
    
    // Configure the symbol margin
    m_textCtrlPreview->SetMarginType (2, wxSTC_MARGIN_SYMBOL);
    m_textCtrlPreview->SetMarginMask (2, ~(wxSTC_MASK_FOLDERS));
    m_textCtrlPreview->SetMarginWidth(2, 0);
    m_textCtrlPreview->SetMarginSensitive(2, true);
    
    // Configure the line numbers margin
    m_textCtrlPreview->SetMarginType(0, wxSTC_MARGIN_NUMBER);
    m_textCtrlPreview->SetMarginWidth(0,0);
    
    // Configure the line symbol margin
    m_textCtrlPreview->SetMarginType(3, wxSTC_MARGIN_FORE);
    m_textCtrlPreview->SetMarginMask(3, 0);
    m_textCtrlPreview->SetMarginWidth(3,0);
    // Select the lexer
    m_textCtrlPreview->SetLexer(wxSTC_LEX_NULL);
    // Set default font / styles
    m_textCtrlPreview->StyleClearAll();
    m_textCtrlPreview->SetWrapMode(0);
    m_textCtrlPreview->SetIndentationGuides(0);
    m_textCtrlPreview->SetKeyWords(0, wxT(""));
    m_textCtrlPreview->SetKeyWords(1, wxT(""));
    m_textCtrlPreview->SetKeyWords(2, wxT(""));
    m_textCtrlPreview->SetKeyWords(3, wxT(""));
    m_textCtrlPreview->SetKeyWords(4, wxT(""));
    
    boxSizer71->Add(m_textCtrlPreview, 1, wxALL|wxEXPAND, 5);
    
    m_panel69 = new wxPanel(m_notebook65, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_notebook65->AddPage(m_panel69, _("PHP Preview"), false);
    
    wxBoxSizer* boxSizer73 = new wxBoxSizer(wxVERTICAL);
    m_panel69->SetSizer(boxSizer73);
    
    m_stcPhpPreview = new wxStyledTextCtrl(m_panel69, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), 0);
    // Configure the fold margin
    m_stcPhpPreview->SetMarginType     (4, wxSTC_MARGIN_SYMBOL);
    m_stcPhpPreview->SetMarginMask     (4, wxSTC_MASK_FOLDERS);
    m_stcPhpPreview->SetMarginSensitive(4, true);
    m_stcPhpPreview->SetMarginWidth    (4, 0);
    
    // Configure the tracker margin
    m_stcPhpPreview->SetMarginWidth(1, 0);
    
    // Configure the symbol margin
    m_stcPhpPreview->SetMarginType (2, wxSTC_MARGIN_SYMBOL);
    m_stcPhpPreview->SetMarginMask (2, ~(wxSTC_MASK_FOLDERS));
    m_stcPhpPreview->SetMarginWidth(2, 0);
    m_stcPhpPreview->SetMarginSensitive(2, true);
    
    // Configure the line numbers margin
    m_stcPhpPreview->SetMarginType(0, wxSTC_MARGIN_NUMBER);
    m_stcPhpPreview->SetMarginWidth(0,0);
    
    // Configure the line symbol margin
    m_stcPhpPreview->SetMarginType(3, wxSTC_MARGIN_FORE);
    m_stcPhpPreview->SetMarginMask(3, 0);
    m_stcPhpPreview->SetMarginWidth(3,0);
    // Select the lexer
    m_stcPhpPreview->SetLexer(wxSTC_LEX_HTML);
    // Set default font / styles
    m_stcPhpPreview->StyleClearAll();
    m_stcPhpPreview->SetWrapMode(0);
    m_stcPhpPreview->SetIndentationGuides(0);
    m_stcPhpPreview->SetKeyWords(0, wxT(""));
    m_stcPhpPreview->SetKeyWords(1, wxT(""));
    m_stcPhpPreview->SetKeyWords(2, wxT(""));
    m_stcPhpPreview->SetKeyWords(3, wxT(""));
    m_stcPhpPreview->SetKeyWords(4, wxT(""));
    
    boxSizer73->Add(m_stcPhpPreview, 1, wxALL|wxEXPAND, 5);
    
    wxBoxSizer* bSizerButtons = new wxBoxSizer(wxHORIZONTAL);
    
    bSizerMain->Add(bSizerButtons, 0, wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_stdBtnSizer30 = new wxStdDialogButtonSizer();
    
    bSizerButtons->Add(m_stdBtnSizer30, 0, wxALL, 5);
    
    m_buttonOK = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_stdBtnSizer30->AddButton(m_buttonOK);
    
    m_buttonApply = new wxButton(this, wxID_APPLY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_stdBtnSizer30->AddButton(m_buttonApply);
    
    m_buttonCancel = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_stdBtnSizer30->AddButton(m_buttonCancel);
    
    m_buttonHelp = new wxButton(this, wxID_HELP, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    m_stdBtnSizer30->AddButton(m_buttonHelp);
    m_stdBtnSizer30->Realize();
    
    SetSizeHints(-1,-1);
    if ( GetSizer() ) {
         GetSizer()->Fit(this);
    }
    Centre(wxBOTH);
    // Connect events
    m_pgMgr->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(CodeFormatterBaseDlg::OnAStylePropertyChanged), NULL, this);
    m_textCtrlUserFlags->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(CodeFormatterBaseDlg::OnCustomAstyleFlags), NULL, this);
    m_buttonOK->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CodeFormatterBaseDlg::OnOK), NULL, this);
    m_buttonApply->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(CodeFormatterBaseDlg::OnApplyUI), NULL, this);
    m_buttonApply->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CodeFormatterBaseDlg::OnApply), NULL, this);
    m_buttonHelp->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(CodeFormatterBaseDlg::OnHelp), NULL, this);
    
}
示例#27
0
SettingsDlg::SettingsDlg( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	wxBoxSizer* dlgSizer;
	dlgSizer = new wxBoxSizer( wxVERTICAL );
	
	m_Notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	m_pBuild = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizerBuildPanel;
	bSizerBuildPanel = new wxBoxSizer( wxVERTICAL );
	
	
	bSizerBuildPanel->Add( 0, 12, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizerInstructionSet;
	bSizerInstructionSet = new wxBoxSizer( wxHORIZONTAL );
	
	wxFlexGridSizer* fgSizerInstructionSet;
	fgSizerInstructionSet = new wxFlexGridSizer( 0, 2, 0, 0 );
	fgSizerInstructionSet->SetFlexibleDirection( wxHORIZONTAL );
	fgSizerInstructionSet->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_lblTargetHost = new wxStaticText( m_pBuild, wxID_ANY, wxT("Target &host"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblTargetHost->Wrap( -1 );
	fgSizerInstructionSet->Add( m_lblTargetHost, 0, wxALL, 5 );
	
	wxString m_TargetHostChoices[] = { wxT("-") };
	int m_TargetHostNChoices = sizeof( m_TargetHostChoices ) / sizeof( wxString );
	m_TargetHost = new wxChoice( m_pBuild, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_TargetHostNChoices, m_TargetHostChoices, 0 );
	m_TargetHost->SetSelection( 0 );
	m_TargetHost->SetToolTip( wxT("A specific device or application may come with predefined settings.\nChoose the appropriate device/application for your scripts.") );
	
	fgSizerInstructionSet->Add( m_TargetHost, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	m_lblDebugLevel = new wxStaticText( m_pBuild, wxID_ANY, wxT("&Debug info."), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblDebugLevel->Wrap( -1 );
	fgSizerInstructionSet->Add( m_lblDebugLevel, 0, wxALL, 5 );
	
	wxString m_DebugLevelChoices[] = { wxT("None"), wxT("Run-time checks"), wxT("Symbolic debugging") };
	int m_DebugLevelNChoices = sizeof( m_DebugLevelChoices ) / sizeof( wxString );
	m_DebugLevel = new wxChoice( m_pBuild, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_DebugLevelNChoices, m_DebugLevelChoices, 0 );
	m_DebugLevel->SetSelection( 0 );
	m_DebugLevel->SetToolTip( wxT("For debugging, full symbolic information is required. Run-time checks enable extra validity checks with low overhead.") );
	
	fgSizerInstructionSet->Add( m_DebugLevel, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	m_lblOptimization = new wxStaticText( m_pBuild, wxID_ANY, wxT("Instruction &set"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblOptimization->Wrap( -1 );
	fgSizerInstructionSet->Add( m_lblOptimization, 0, wxALL, 5 );
	
	wxString m_OptimizationChoices[] = { wxT("Core (unoptimized)"), wxT("Core (JIT compatible)"), wxT("Supplemental"), wxT("Full") };
	int m_OptimizationNChoices = sizeof( m_OptimizationChoices ) / sizeof( wxString );
	m_Optimization = new wxChoice( m_pBuild, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_OptimizationNChoices, m_OptimizationChoices, 0 );
	m_Optimization->SetSelection( 0 );
	m_Optimization->SetToolTip( wxT("The full instruction set runs faster than the core instruction set (except on a JIT).\nHowever, not all devices (or applications) support the full instruction set.") );
	
	fgSizerInstructionSet->Add( m_Optimization, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	
	bSizerInstructionSet->Add( fgSizerInstructionSet, 1, wxEXPAND, 5 );
	
	wxBoxSizer* sizerBuildOptions;
	sizerBuildOptions = new wxBoxSizer( wxVERTICAL );
	
	m_OverlayCode = new wxCheckBox( m_pBuild, wxID_ANY, wxT("O&verlay code"), wxDefaultPosition, wxDefaultSize, 0 );
	m_OverlayCode->SetToolTip( wxT("Generate overlay code, for arbitrarily large scripts on memory-constrained devices.") );
	
	sizerBuildOptions->Add( m_OverlayCode, 0, wxALL, 5 );
	
	m_chkStandardAMXname = new wxCheckBox( m_pBuild, wxID_ANY, wxT("Standard &executable filename"), wxDefaultPosition, wxDefaultSize, 0 );
	m_chkStandardAMXname->SetToolTip( wxT("Some devices (or applications) require that a compiled script has a fixed name.\nIf so, this option may be set (make sure a Target host is selected).") );
	
	sizerBuildOptions->Add( m_chkStandardAMXname, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	m_chkVerbose = new wxCheckBox( m_pBuild, wxID_ANY, wxT("Report &memory usage (on compile)"), wxDefaultPosition, wxDefaultSize, 0 );
	m_chkVerbose->SetToolTip( wxT("To display an estimate of the memory used by the compiled script.") );
	
	sizerBuildOptions->Add( m_chkVerbose, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	m_chkCreateReport = new wxCheckBox( m_pBuild, wxID_ANY, wxT("Create s&ymbol report && documentation"), wxDefaultPosition, wxDefaultSize, 0 );
	m_chkCreateReport->SetToolTip( wxT("To generate a report on each compile.\nA symbol report gives an overview of the functions, including documentation from the comments.") );
	
	sizerBuildOptions->Add( m_chkCreateReport, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	
	bSizerInstructionSet->Add( sizerBuildOptions, 0, 0, 5 );
	
	
	bSizerBuildPanel->Add( bSizerInstructionSet, 0, 0, 5 );
	
	m_staticline2 = new wxStaticLine( m_pBuild, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	bSizerBuildPanel->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
	
	wxFlexGridSizer* sizerPaths;
	sizerPaths = new wxFlexGridSizer( 0, 2, 0, 0 );
	sizerPaths->AddGrowableCol( 1 );
	sizerPaths->SetFlexibleDirection( wxHORIZONTAL );
	sizerPaths->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_lblDefines = new wxStaticText( m_pBuild, wxID_ANY, wxT("De&fines"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblDefines->Wrap( -1 );
	sizerPaths->Add( m_lblDefines, 0, wxALL|wxEXPAND, 5 );
	
	m_Defines = new wxTextCtrl( m_pBuild, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), 0 );
	m_Defines->SetToolTip( wxT("Type in a series of defined keywords (e.g. for conditional compilation).\nThe definitions must be separated with semicolons.") );
	
	sizerPaths->Add( m_Defines, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	m_lblIncludes = new wxStaticText( m_pBuild, wxID_ANY, wxT("&Include path"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblIncludes->Wrap( -1 );
	sizerPaths->Add( m_lblIncludes, 0, wxALL|wxEXPAND, 5 );
	
	m_IncludePath = new wxTextCtrl( m_pBuild, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_IncludePath->SetToolTip( wxT("One or more \"system\" include paths. Separate multiple paths with a semicolon.") );
	
	sizerPaths->Add( m_IncludePath, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	m_lblOutputPath = new wxStaticText( m_pBuild, wxID_ANY, wxT("&Output path"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblOutputPath->Wrap( -1 );
	sizerPaths->Add( m_lblOutputPath, 0, wxALL|wxEXPAND, 5 );
	
	m_OutputPath = new wxTextCtrl( m_pBuild, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_OutputPath->SetToolTip( wxT("The path where the compiled scripts must be stored.\nIf left empty, the output is in the same path as the input scripts.") );
	
	sizerPaths->Add( m_OutputPath, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
	
	m_lblBinPath = new wxStaticText( m_pBuild, wxID_ANY, wxT("&Compiler path"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblBinPath->Wrap( -1 );
	sizerPaths->Add( m_lblBinPath, 0, wxALL|wxEXPAND, 5 );
	
	m_BinPath = new wxTextCtrl( m_pBuild, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_BinPath->SetToolTip( wxT("The path where the Pawn compiler and its tools are installed.") );
	
	sizerPaths->Add( m_BinPath, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
	
	m_lblPreBuild = new wxStaticText( m_pBuild, wxID_ANY, wxT("&Pre-builld"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblPreBuild->Wrap( -1 );
	sizerPaths->Add( m_lblPreBuild, 0, wxALL|wxEXPAND, 5 );
	
	m_PreBuild = new wxTextCtrl( m_pBuild, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_PreBuild->SetToolTip( wxT("An optional command to run before launching the Pawn compiler.") );
	
	sizerPaths->Add( m_PreBuild, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
	
	m_lblMiscCmdLine = new wxStaticText( m_pBuild, wxID_ANY, wxT("O&ther options"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblMiscCmdLine->Wrap( -1 );
	sizerPaths->Add( m_lblMiscCmdLine, 0, wxALL, 5 );
	
	m_MiscCmdOptions = new wxTextCtrl( m_pBuild, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_MiscCmdOptions->SetToolTip( wxT("Any other options that you wish to pass to the Pawn compiler.") );
	
	sizerPaths->Add( m_MiscCmdOptions, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
	
	
	bSizerBuildPanel->Add( sizerPaths, 0, wxEXPAND, 5 );
	
	
	m_pBuild->SetSizer( bSizerBuildPanel );
	m_pBuild->Layout();
	bSizerBuildPanel->Fit( m_pBuild );
	m_Notebook->AddPage( m_pBuild, wxT("Build"), true );
	m_pEdit = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* editSizerBlocks;
	editSizerBlocks = new wxBoxSizer( wxVERTICAL );
	
	
	editSizerBlocks->Add( 0, 8, 0, wxTOP, 5 );
	
	wxFlexGridSizer* fgSizerEditOptions;
	fgSizerEditOptions = new wxFlexGridSizer( 0, 3, 0, 0 );
	fgSizerEditOptions->SetFlexibleDirection( wxBOTH );
	fgSizerEditOptions->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_lblTabWidth = new wxStaticText( m_pEdit, wxID_ANY, wxT("TAB stops"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblTabWidth->Wrap( -1 );
	fgSizerEditOptions->Add( m_lblTabWidth, 0, wxALL, 5 );
	
	m_TabWidth = new wxSpinCtrl( m_pEdit, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 8, 1 );
	m_TabWidth->SetToolTip( wxT("The number of characters between two TAB positions.") );
	
	fgSizerEditOptions->Add( m_TabWidth, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	m_UseTabs = new wxCheckBox( m_pEdit, wxID_ANY, wxT("TAB key inserts spaces"), wxDefaultPosition, wxDefaultSize, 0 );
	m_UseTabs->SetToolTip( wxT("If this option has a checkmark, the TAB key will insert space characters up to the next TAB stop.\nIf not checked, the TAB key will insert a TAB character.") );
	
	fgSizerEditOptions->Add( m_UseTabs, 0, wxALL, 5 );
	
	m_lblAutoIndent = new wxStaticText( m_pEdit, wxID_ANY, wxT("Auto-indent"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblAutoIndent->Wrap( -1 );
	fgSizerEditOptions->Add( m_lblAutoIndent, 0, wxALL, 5 );
	
	m_AutoIndent = new wxCheckBox( m_pEdit, wxID_ANY, wxT("Indent lines"), wxDefaultPosition, wxDefaultSize, 0 );
	m_AutoIndent->SetToolTip( wxT("To automatically indent inserted lines with the same indentation as the preceding line.") );
	
	fgSizerEditOptions->Add( m_AutoIndent, 0, wxALL, 5 );
	
	m_IndentPastedBlocks = new wxCheckBox( m_pEdit, wxID_ANY, wxT("Indent pasted blocks"), wxDefaultPosition, wxDefaultSize, 0 );
	m_IndentPastedBlocks->SetToolTip( wxT("Indent blocks pasted from the clipboard.") );
	
	fgSizerEditOptions->Add( m_IndentPastedBlocks, 0, wxALL, 5 );
	
	m_lblFont = new wxStaticText( m_pEdit, wxID_ANY, wxT("Font"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblFont->Wrap( -1 );
	fgSizerEditOptions->Add( m_lblFont, 0, wxALL, 5 );
	
	m_EditFont = new wxFontPickerCtrl( m_pEdit, wxID_ANY, wxFont( 10, wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxT("Courier") ), wxDefaultPosition, wxDefaultSize, wxFNTP_DEFAULT_STYLE );
	m_EditFont->SetMaxPointSize( 100 ); 
	m_EditFont->SetToolTip( wxT("Click this button to select the font for the source code (must be monospaced).") );
	
	fgSizerEditOptions->Add( m_EditFont, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	
	fgSizerEditOptions->Add( 0, 0, 1, wxEXPAND, 5 );
	
	
	editSizerBlocks->Add( fgSizerEditOptions, 0, wxEXPAND, 5 );
	
	m_EditHorLine = new wxStaticLine( m_pEdit, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	editSizerBlocks->Add( m_EditHorLine, 0, wxEXPAND | wxALL, 5 );
	
	wxGridSizer* editSizerColors;
	editSizerColors = new wxGridSizer( 0, 4, 0, 0 );
	
	m_lblBackground = new wxStaticText( m_pEdit, wxID_ANY, wxT("Background"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblBackground->Wrap( -1 );
	m_lblBackground->SetToolTip( wxT("The background colour of the edit window.") );
	
	editSizerColors->Add( m_lblBackground, 0, wxALL, 5 );
	
	m_clrBackground = new wxColourPickerCtrl( m_pEdit, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
	m_clrBackground->SetToolTip( wxT("The background colour of the edit window.") );
	
	editSizerColors->Add( m_clrBackground, 0, wxRIGHT|wxLEFT, 5 );
	
	m_lblActiveLine = new wxStaticText( m_pEdit, wxID_ANY, wxT("Active line"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblActiveLine->Wrap( -1 );
	m_lblActiveLine->SetToolTip( wxT("The background colour of the line that the text cursor is on.") );
	
	editSizerColors->Add( m_lblActiveLine, 0, wxALL, 5 );
	
	m_clrActiveLine = new wxColourPickerCtrl( m_pEdit, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
	m_clrActiveLine->SetToolTip( wxT("The background colour of the line that the text cursor is on.") );
	
	editSizerColors->Add( m_clrActiveLine, 0, wxRIGHT|wxLEFT, 5 );
	
	m_lblNormalText = new wxStaticText( m_pEdit, wxID_ANY, wxT("Standard text"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblNormalText->Wrap( -1 );
	m_lblNormalText->SetToolTip( wxT("The foreground colour of normal text.") );
	
	editSizerColors->Add( m_lblNormalText, 0, wxALL, 5 );
	
	m_clrNormalText = new wxColourPickerCtrl( m_pEdit, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
	m_clrNormalText->SetToolTip( wxT("The foreground colour of normal text.") );
	
	editSizerColors->Add( m_clrNormalText, 0, wxRIGHT|wxLEFT, 5 );
	
	m_lblOperators = new wxStaticText( m_pEdit, wxID_ANY, wxT("Operators"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblOperators->Wrap( -1 );
	m_lblOperators->SetToolTip( wxT("The foreground colour for operators.") );
	
	editSizerColors->Add( m_lblOperators, 0, wxALL, 5 );
	
	m_clrOperators = new wxColourPickerCtrl( m_pEdit, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
	m_clrOperators->SetToolTip( wxT("The foreground colour for operators.") );
	
	editSizerColors->Add( m_clrOperators, 0, wxRIGHT|wxLEFT, 5 );
	
	m_lblKeywords = new wxStaticText( m_pEdit, wxID_ANY, wxT("Keywords"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblKeywords->Wrap( -1 );
	m_lblKeywords->SetToolTip( wxT("The foreground colour for keywords.") );
	
	editSizerColors->Add( m_lblKeywords, 0, wxALL, 5 );
	
	m_clrKeywords = new wxColourPickerCtrl( m_pEdit, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
	m_clrKeywords->SetToolTip( wxT("The foreground colour for keywords.") );
	
	editSizerColors->Add( m_clrKeywords, 0, wxRIGHT|wxLEFT, 5 );
	
	m_lblNumbers = new wxStaticText( m_pEdit, wxID_ANY, wxT("Numbers"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblNumbers->Wrap( -1 );
	m_lblNumbers->SetToolTip( wxT("The foreground colour for literal numbers.") );
	
	editSizerColors->Add( m_lblNumbers, 0, wxALL, 5 );
	
	m_clrNumbers = new wxColourPickerCtrl( m_pEdit, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
	m_clrNumbers->SetToolTip( wxT("The foreground colour for literal numbers.") );
	
	editSizerColors->Add( m_clrNumbers, 0, wxRIGHT|wxLEFT, 5 );
	
	m_lblPreprocessor = new wxStaticText( m_pEdit, wxID_ANY, wxT("Directives"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblPreprocessor->Wrap( -1 );
	m_lblPreprocessor->SetToolTip( wxT("The foreground colour of compiler directives (\"preprocessor directives\").") );
	
	editSizerColors->Add( m_lblPreprocessor, 0, wxALL, 5 );
	
	m_clrPreprocessor = new wxColourPickerCtrl( m_pEdit, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
	m_clrPreprocessor->SetToolTip( wxT("The foreground colour of compiler directives (\"preprocessor directives\").") );
	
	editSizerColors->Add( m_clrPreprocessor, 0, wxRIGHT|wxLEFT, 5 );
	
	m_lblStrings = new wxStaticText( m_pEdit, wxID_ANY, wxT("Strings"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblStrings->Wrap( -1 );
	m_lblStrings->SetToolTip( wxT("The foreground colour for strings and literal single characters.") );
	
	editSizerColors->Add( m_lblStrings, 0, wxALL, 5 );
	
	m_clrStrings = new wxColourPickerCtrl( m_pEdit, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
	m_clrStrings->SetToolTip( wxT("The foreground colour for strings and literal single characters.") );
	
	editSizerColors->Add( m_clrStrings, 0, wxRIGHT|wxLEFT, 5 );
	
	m_lblComments = new wxStaticText( m_pEdit, wxID_ANY, wxT("Comments"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblComments->Wrap( -1 );
	m_lblComments->SetToolTip( wxT("The foreground colour for comments.") );
	
	editSizerColors->Add( m_lblComments, 0, wxALL, 5 );
	
	m_clrComments = new wxColourPickerCtrl( m_pEdit, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
	m_clrComments->SetToolTip( wxT("The foreground colour for comments.") );
	
	editSizerColors->Add( m_clrComments, 0, wxRIGHT|wxLEFT, 5 );
	
	m_lblStringEOL = new wxStaticText( m_pEdit, wxID_ANY, wxT("Unterminated string"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblStringEOL->Wrap( -1 );
	m_lblStringEOL->SetToolTip( wxT("The foreground colour for strings and characters that lack the trailing quotation mark.") );
	
	editSizerColors->Add( m_lblStringEOL, 0, wxALL, 5 );
	
	m_clrStringEOL = new wxColourPickerCtrl( m_pEdit, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
	m_clrStringEOL->SetToolTip( wxT("The foreground colour for strings and characters that lack the trailing quotation mark.") );
	
	editSizerColors->Add( m_clrStringEOL, 0, wxRIGHT|wxLEFT, 5 );
	
	m_lblHighlight = new wxStaticText( m_pEdit, wxID_ANY, wxT("Highlighted text"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblHighlight->Wrap( -1 );
	m_lblHighlight->SetToolTip( wxT("Colour for brace matching and other text highlights.") );
	
	editSizerColors->Add( m_lblHighlight, 0, wxALL, 5 );
	
	m_clrHighlight = new wxColourPickerCtrl( m_pEdit, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
	m_clrHighlight->SetToolTip( wxT("Colour for brace matching and other text highlights.") );
	
	editSizerColors->Add( m_clrHighlight, 0, wxRIGHT|wxLEFT, 5 );
	
	
	editSizerBlocks->Add( editSizerColors, 0, wxEXPAND, 5 );
	
	
	m_pEdit->SetSizer( editSizerBlocks );
	m_pEdit->Layout();
	editSizerBlocks->Fit( m_pEdit );
	m_Notebook->AddPage( m_pEdit, wxT("Editor"), false );
	m_pDebug = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizerDebug;
	bSizerDebug = new wxBoxSizer( wxVERTICAL );
	
	
	bSizerDebug->Add( 0, 12, 0, wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizerConnection;
	sbSizerConnection = new wxStaticBoxSizer( new wxStaticBox( m_pDebug, wxID_ANY, wxT("Debugger && Run-time target") ), wxVERTICAL );
	
	wxBoxSizer* bSizerPort;
	bSizerPort = new wxBoxSizer( wxVERTICAL );
	
	m_optDebugLocal = new wxRadioButton( sbSizerConnection->GetStaticBox(), wxID_ANY, wxT("&Local (script runs on the same computer as the run-time)"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
	m_optDebugLocal->SetToolTip( wxT("Use local debugging, run the script in the local host.") );
	
	bSizerPort->Add( m_optDebugLocal, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
	
	m_optDebugRS232 = new wxRadioButton( sbSizerConnection->GetStaticBox(), wxID_ANY, wxT("&RS232 (remote debugging && logging)"), wxDefaultPosition, wxDefaultSize, 0 );
	m_optDebugRS232->SetToolTip( wxT("Script runs at a remote host.\nRemote debugging via RS232.") );
	
	bSizerPort->Add( m_optDebugRS232, 0, wxALL, 5 );
	
	wxFlexGridSizer* fgSizerPort;
	fgSizerPort = new wxFlexGridSizer( 1, 5, 0, 0 );
	fgSizerPort->SetFlexibleDirection( wxBOTH );
	fgSizerPort->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	
	fgSizerPort->Add( 20, 0, 1, wxEXPAND, 5 );
	
	m_lblPort = new wxStaticText( sbSizerConnection->GetStaticBox(), wxID_ANY, wxT("&Port"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblPort->Wrap( -1 );
	fgSizerPort->Add( m_lblPort, 0, wxALL, 5 );
	
	wxArrayString m_ctrlPortChoices;
	m_ctrlPort = new wxChoice( sbSizerConnection->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ctrlPortChoices, 0 );
	m_ctrlPort->SetSelection( 0 );
	m_ctrlPort->SetToolTip( wxT("The port to use for communication.") );
	
	fgSizerPort->Add( m_ctrlPort, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	m_lblBaudRate = new wxStaticText( sbSizerConnection->GetStaticBox(), wxID_ANY, wxT("&Baud rate"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblBaudRate->Wrap( -1 );
	fgSizerPort->Add( m_lblBaudRate, 0, wxALL, 5 );
	
	wxString m_ctrlBaudRateChoices[] = { wxT("1200"), wxT("2400"), wxT("4800"), wxT("9600"), wxT("14400"), wxT("19200"), wxT("28800"), wxT("38400"), wxT("57600"), wxT("115200") };
	int m_ctrlBaudRateNChoices = sizeof( m_ctrlBaudRateChoices ) / sizeof( wxString );
	m_ctrlBaudRate = new wxChoice( sbSizerConnection->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ctrlBaudRateNChoices, m_ctrlBaudRateChoices, 0 );
	m_ctrlBaudRate->SetSelection( 0 );
	m_ctrlBaudRate->SetToolTip( wxT("The communication speed.") );
	
	fgSizerPort->Add( m_ctrlBaudRate, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	
	bSizerPort->Add( fgSizerPort, 1, wxEXPAND, 5 );
	
	wxFlexGridSizer* fgSizerPortSettings;
	fgSizerPortSettings = new wxFlexGridSizer( 0, 2, 0, 0 );
	fgSizerPortSettings->SetFlexibleDirection( wxBOTH );
	fgSizerPortSettings->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	
	fgSizerPortSettings->Add( 20, 0, 1, wxEXPAND, 5 );
	
	m_lblConnInfo = new wxStaticText( sbSizerConnection->GetStaticBox(), wxID_ANY, wxT("(Other settings: 8 data bits, 1 stop bit, no parity, no handshaking)"), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblConnInfo->Wrap( -1 );
	fgSizerPortSettings->Add( m_lblConnInfo, 0, wxRIGHT|wxLEFT, 5 );
	
	
	bSizerPort->Add( fgSizerPortSettings, 0, wxEXPAND, 5 );
	
	wxFlexGridSizer* fgSizerPortLogging;
	fgSizerPortLogging = new wxFlexGridSizer( 0, 2, 0, 0 );
	fgSizerPortLogging->SetFlexibleDirection( wxBOTH );
	fgSizerPortLogging->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	
	fgSizerPortLogging->Add( 20, 0, 1, wxEXPAND, 5 );
	
	m_chkEnableLogging = new wxCheckBox( sbSizerConnection->GetStaticBox(), wxID_ANY, wxT("Log incoming data to the output pane"), wxDefaultPosition, wxDefaultSize, 0 );
	m_chkEnableLogging->SetToolTip( wxT("Data received from the RS232 port is logged to the output pane.") );
	
	fgSizerPortLogging->Add( m_chkEnableLogging, 0, wxALL, 5 );
	
	
	bSizerPort->Add( fgSizerPortLogging, 1, wxEXPAND, 5 );
	
	
	sbSizerConnection->Add( bSizerPort, 1, wxEXPAND, 5 );
	
	
	bSizerDebug->Add( sbSizerConnection, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
	
	
	m_pDebug->SetSizer( bSizerDebug );
	m_pDebug->Layout();
	bSizerDebug->Fit( m_pDebug );
	m_Notebook->AddPage( m_pDebug, wxT("Debug/Run"), false );
	m_pSnippets = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizerSnippets;
	bSizerSnippets = new wxBoxSizer( wxVERTICAL );
	
	m_gridSnippets = new wxGrid( m_pSnippets, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	
	// Grid
	m_gridSnippets->CreateGrid( 0, 2 );
	m_gridSnippets->EnableEditing( true );
	m_gridSnippets->EnableGridLines( true );
	m_gridSnippets->EnableDragGridSize( false );
	m_gridSnippets->SetMargins( 0, 0 );
	
	// Columns
	m_gridSnippets->SetColSize( 0, 100 );
	m_gridSnippets->SetColSize( 1, 300 );
	m_gridSnippets->EnableDragColMove( false );
	m_gridSnippets->EnableDragColSize( true );
	m_gridSnippets->SetColLabelSize( 20 );
	m_gridSnippets->SetColLabelValue( 0, wxT("Shorthand") );
	m_gridSnippets->SetColLabelValue( 1, wxT("Replacement") );
	m_gridSnippets->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
	
	// Rows
	m_gridSnippets->EnableDragRowSize( false );
	m_gridSnippets->SetRowLabelSize( 0 );
	m_gridSnippets->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
	
	// Label Appearance
	
	// Cell Defaults
	m_gridSnippets->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
	bSizerSnippets->Add( m_gridSnippets, 1, wxALL|wxEXPAND, 5 );
	
	m_lblSnippet = new wxStaticText( m_pSnippets, wxID_ANY, wxT("In the replacement text: \\n = newline, \\t = Tab, \\s = back-Tab, \\\\ = \\ and ^ = caret."), wxDefaultPosition, wxDefaultSize, 0 );
	m_lblSnippet->Wrap( -1 );
	bSizerSnippets->Add( m_lblSnippet, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	
	m_pSnippets->SetSizer( bSizerSnippets );
	m_pSnippets->Layout();
	bSizerSnippets->Fit( m_pSnippets );
	m_Notebook->AddPage( m_pSnippets, wxT("Snippets"), false );
	m_pKeyboard = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizerKbd;
	bSizerKbd = new wxBoxSizer( wxVERTICAL );
	
	m_KbdShortcuts = new wxPropertyGrid(m_pKeyboard, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxPG_DEFAULT_STYLE|wxPG_HIDE_MARGIN|wxPG_SPLITTER_AUTO_CENTER);
	bSizerKbd->Add( m_KbdShortcuts, 1, wxALL|wxEXPAND, 5 );
	
	
	m_pKeyboard->SetSizer( bSizerKbd );
	m_pKeyboard->Layout();
	bSizerKbd->Fit( m_pKeyboard );
	m_Notebook->AddPage( m_pKeyboard, wxT("Keyboard"), false );
	m_pOptions = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bOptionsSizer;
	bOptionsSizer = new wxBoxSizer( wxVERTICAL );
	
	
	bOptionsSizer->Add( 0, 8, 0, 0, 5 );
	
	m_StripTrailingWhitespace = new wxCheckBox( m_pOptions, wxID_ANY, wxT("Strip trailing whitespace on save"), wxDefaultPosition, wxDefaultSize, 0 );
	m_StripTrailingWhitespace->SetToolTip( wxT("Remove whitespace at the end of the lines when saving a file.") );
	
	bOptionsSizer->Add( m_StripTrailingWhitespace, 0, wxALL, 5 );
	
	m_ModalFind = new wxCheckBox( m_pOptions, wxID_ANY, wxT("Use alternative Find dialog"), wxDefaultPosition, wxDefaultSize, 0 );
	m_ModalFind->SetToolTip( wxT("Use an alternative Find dialog, which allows regular expressions and multi-file searches.") );
	
	bOptionsSizer->Add( m_ModalFind, 0, wxALL, 5 );
	
	m_LocalIniFile = new wxCheckBox( m_pOptions, wxID_ANY, wxT("Use local configuration file"), wxDefaultPosition, wxDefaultSize, 0 );
	m_LocalIniFile->SetToolTip( wxT("Store the configuration in the same directory as the program.\nThis allows for multiple installations of Pawn in separate directories. However, it requires that the user has access rights to the local directory.") );
	
	bOptionsSizer->Add( m_LocalIniFile, 0, wxALL, 5 );
	
	wxBoxSizer* bSizerHelp;
	bSizerHelp = new wxBoxSizer( wxHORIZONTAL );
	
	m_UserPDFReader = new wxCheckBox( m_pOptions, wxID_ANY, wxT("Use specific PDF reader"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizerHelp->Add( m_UserPDFReader, 0, wxALL, 5 );
	
	m_UserReaderPath = new wxTextCtrl( m_pOptions, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizerHelp->Add( m_UserReaderPath, 1, wxTOP|wxBOTTOM|wxLEFT, 5 );
	
	m_UserReaderBrowse = new wxBitmapButton( m_pOptions, wxID_ANY, wxBitmap( tb_open_xpm ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
	bSizerHelp->Add( m_UserReaderBrowse, 0, wxTOP|wxRIGHT, 4 );
	
	
	bOptionsSizer->Add( bSizerHelp, 0, wxEXPAND, 5 );
	
	
	m_pOptions->SetSizer( bOptionsSizer );
	m_pOptions->Layout();
	bOptionsSizer->Fit( m_pOptions );
	m_Notebook->AddPage( m_pOptions, wxT("Miscellaneous"), false );
	
	dlgSizer->Add( m_Notebook, 1, wxEXPAND | wxALL, 5 );
	
	m_sdbSizer = new wxStdDialogButtonSizer();
	m_sdbSizerOK = new wxButton( this, wxID_OK );
	m_sdbSizer->AddButton( m_sdbSizerOK );
	m_sdbSizerCancel = new wxButton( this, wxID_CANCEL );
	m_sdbSizer->AddButton( m_sdbSizerCancel );
	m_sdbSizer->Realize();
	
	dlgSizer->Add( m_sdbSizer, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
	
	
	this->SetSizer( dlgSizer );
	this->Layout();
	dlgSizer->Fit( this );
	
	// Connect Events
	m_TargetHost->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( SettingsDlg::OnTargetHost ), NULL, this );
	m_optDebugLocal->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( SettingsDlg::OnDebuggerLocal ), NULL, this );
	m_optDebugRS232->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( SettingsDlg::OnDebuggerRS232 ), NULL, this );
	m_gridSnippets->Connect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( SettingsDlg::OnSnippetEdit ), NULL, this );
	m_KbdShortcuts->Connect( wxEVT_PG_CHANGED, wxPropertyGridEventHandler( SettingsDlg::OnKbdChanged ), NULL, this );
	m_UserPDFReader->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( SettingsDlg::OnUserPDFReader ), NULL, this );
	m_UserReaderBrowse->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SettingsDlg::OnUserReaderBrowse ), NULL, this );
	m_sdbSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SettingsDlg::OnCancel ), NULL, this );
	m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SettingsDlg::OnOK ), NULL, this );
}
EditorOptionsGeneralEditBase::~EditorOptionsGeneralEditBase()
{
    m_pgMgrEdit->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(EditorOptionsGeneralEditBase::OnValueChanged), NULL, this);
    
}
示例#29
0
WebToolsSettingsBase::WebToolsSettingsBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos,
                                           const wxSize& size, long style)
    : wxDialog(parent, id, title, pos, size, style)
{
    if(!bBitmapLoaded) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxCD9C6InitBitmapResources();
        bBitmapLoaded = true;
    }

    wxBoxSizer* boxSizer2 = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(boxSizer2);

    m_notebook10 = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), wxBK_DEFAULT);
    m_notebook10->SetName(wxT("m_notebook10"));

    boxSizer2->Add(m_notebook10, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5));

    m_panel56 = new wxPanel(m_notebook10, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook10, wxSize(-1, -1)),
                            wxTAB_TRAVERSAL);
    m_notebook10->AddPage(m_panel56, _("Code Completion"), true);

    wxBoxSizer* boxSizer58 = new wxBoxSizer(wxVERTICAL);
    m_panel56->SetSizer(boxSizer58);

    m_checkBoxEnableJsCC = new wxCheckBox(m_panel56, wxID_ANY, _("Enable JavaScript code completion"),
                                          wxDefaultPosition, wxDLG_UNIT(m_panel56, wxSize(-1, -1)), 0);
    m_checkBoxEnableJsCC->SetValue(true);
    m_checkBoxEnableJsCC->SetToolTip(_("Enable JavaScript code completion"));

    boxSizer58->Add(m_checkBoxEnableJsCC, 0, wxALL, WXC_FROM_DIP(5));

    m_checkBoxEnableXmlCC = new wxCheckBox(m_panel56, wxID_ANY, _("Enable XML code completion"), wxDefaultPosition,
                                           wxDLG_UNIT(m_panel56, wxSize(-1, -1)), 0);
    m_checkBoxEnableXmlCC->SetValue(true);
    m_checkBoxEnableXmlCC->SetToolTip(_("Enable XML code completion"));

    boxSizer58->Add(m_checkBoxEnableXmlCC, 0, wxALL, WXC_FROM_DIP(5));

    m_checkBoxEnableHtmlCC = new wxCheckBox(m_panel56, wxID_ANY, _("Enable HTML code completion"), wxDefaultPosition,
                                            wxDLG_UNIT(m_panel56, wxSize(-1, -1)), 0);
    m_checkBoxEnableHtmlCC->SetValue(true);
    m_checkBoxEnableHtmlCC->SetToolTip(_("Enable HTML code completion"));

    boxSizer58->Add(m_checkBoxEnableHtmlCC, 0, wxALL, WXC_FROM_DIP(5));

    m_panel12 = new wxPanel(m_notebook10, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook10, wxSize(-1, -1)),
                            wxTAB_TRAVERSAL);
    m_notebook10->AddPage(m_panel12, _("JavaScript"), false);

    wxBoxSizer* boxSizer22 = new wxBoxSizer(wxVERTICAL);
    m_panel12->SetSizer(boxSizer22);

    wxArrayString m_pgMgrArr;
    wxUnusedVar(m_pgMgrArr);
    wxArrayInt m_pgMgrIntArr;
    wxUnusedVar(m_pgMgrIntArr);
    m_pgMgr = new wxPropertyGridManager(m_panel12, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_panel12, wxSize(400, 200)),
                                        wxPG_DESCRIPTION | wxPG_SPLITTER_AUTO_CENTER | wxPG_BOLD_MODIFIED);

    boxSizer22->Add(m_pgMgr, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5));

    m_pgProp26 = m_pgMgr->Append(new wxPropertyCategory(_("General")));
    m_pgProp26->SetHelpString(wxT(""));

    m_pgPropLogging = m_pgMgr->AppendIn(m_pgProp26, new wxBoolProperty(_("Verbose Logging"), wxPG_LABEL, 1));
    m_pgPropLogging->SetHelpString(
        _("The JavaScript code completion uses the \"tern\" engine.\nCheck this option to start tern in verbose mode"));

    m_pgPropPortNumber =
        m_pgMgr->AppendIn(m_pgProp26, new wxIntProperty(_("Code completion engine port"), wxPG_LABEL, 12089));
    m_pgPropPortNumber->SetHelpString(_("The port number on which 'tern' listens to\nTern is the code completion "
                                        "engine used by CodeLite for JavaScript"));

    m_pgProp32 = m_pgMgr->Append(new wxPropertyCategory(_("Libraries")));
    m_pgProp32->SetHelpString(_("Enable Code Completion for the selected libraries"));

    m_pgPropEcma5 = m_pgMgr->AppendIn(m_pgProp32, new wxBoolProperty(_("Ecma5"), wxPG_LABEL, 1));
    m_pgPropEcma5->SetHelpString(wxT(""));

    m_pgPropEcma6 = m_pgMgr->AppendIn(m_pgProp32, new wxBoolProperty(_("Ecma6"), wxPG_LABEL, 1));
    m_pgPropEcma6->SetHelpString(wxT(""));

    m_pgPropJQuery = m_pgMgr->AppendIn(m_pgProp32, new wxBoolProperty(_("jQuery"), wxPG_LABEL, 1));
    m_pgPropJQuery->SetHelpString(_("Support Code Completion for jQuery framework"));

    m_pgPropUnderscore = m_pgMgr->AppendIn(m_pgProp32, new wxBoolProperty(_("Underscore"), wxPG_LABEL, 1));
    m_pgPropUnderscore->SetHelpString(_("Enable code completion for the Underscore library"));

    m_pgPropBrowser = m_pgMgr->AppendIn(m_pgProp32, new wxBoolProperty(_("Browser"), wxPG_LABEL, 1));
    m_pgPropBrowser->SetHelpString(_("Enable code completion for browser mode (DOM, document, window etc)"));

    m_pgPropChai = m_pgMgr->AppendIn(m_pgProp32, new wxBoolProperty(_("Chai"), wxPG_LABEL, 1));
    m_pgPropChai->SetHelpString(_("Enable code completion for the chain assertion library"));

    m_pgPropQML = m_pgMgr->AppendIn(m_pgProp32, new wxBoolProperty(_("QML"), wxPG_LABEL, 1));
    m_pgPropQML->SetHelpString(_("Support for Qt's QML extension for JavaScript"));

    m_pgProp46 = m_pgMgr->Append(new wxPropertyCategory(_("Plugins")));
    m_pgProp46->SetHelpString(wxT(""));

    m_pgPropAngular = m_pgMgr->AppendIn(m_pgProp46, new wxBoolProperty(_("Angular"), wxPG_LABEL, 1));
    m_pgPropAngular->SetHelpString(
        _("Adds the angular object to the top-level environment, and tries to wire up some of the bizarre dependency "
          "management scheme from this library, so that dependency injections get the right types"));

    m_pgPropStrings = m_pgMgr->AppendIn(m_pgProp46, new wxBoolProperty(_("Strings"), wxPG_LABEL, 1));
    m_pgPropStrings->SetHelpString(
        _("When enabled, this plugin will gather (short) strings in your code, and completing when inside a string "
          "will try to complete to previously seen strings"));

    m_pgPropNode = m_pgMgr->AppendIn(m_pgProp46, new wxBoolProperty(_("Node.js"), wxPG_LABEL, 1));
    m_pgPropNode->SetHelpString(
        _("Provides variables that are part of the node environment, such as process and require, and hooks up require "
          "to try and find the dependencies that are being loaded, and assign them the correct types. It also includes "
          "types for the built-in modules that node.js provides (\"fs\", \"http\", etc)"));

    m_pgPropNodeExpress = m_pgMgr->AppendIn(m_pgProp46, new wxBoolProperty(_("Node Express"), wxPG_LABEL, 1));
    m_pgPropNodeExpress->SetHelpString(
        _("A Tern plugin adding support for express web application framework for node. http://expressjs.com/"));

    m_pgPropWebPack = m_pgMgr->AppendIn(m_pgProp46, new wxBoolProperty(_("WebPack"), wxPG_LABEL, 1));
    m_pgPropWebPack->SetHelpString(_("Support WebPack"));

    m_pgPropRequireJS = m_pgMgr->AppendIn(m_pgProp46, new wxBoolProperty(_("RequireJS"), wxPG_LABEL, 1));
    m_pgPropRequireJS->SetHelpString(
        _("This plugin (\"requirejs\") teaches the server to understand RequireJS-style dependency management. It "
          "defines the global functions define and requirejs, and will do its best to resolve dependencies and give "
          "them their proper types"));

    m_panel237 = new wxPanel(m_notebook10, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(m_notebook10, wxSize(-1, -1)),
                             wxTAB_TRAVERSAL);
    m_notebook10->AddPage(m_panel237, _("Node.js"), false);

    wxBoxSizer* boxSizer239 = new wxBoxSizer(wxVERTICAL);
    m_panel237->SetSizer(boxSizer239);

    wxFlexGridSizer* flexGridSizer241 = new wxFlexGridSizer(0, 3, 0, 0);
    flexGridSizer241->SetFlexibleDirection(wxBOTH);
    flexGridSizer241->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
    flexGridSizer241->AddGrowableCol(1);

    boxSizer239->Add(flexGridSizer241, 1, wxALL | wxEXPAND, WXC_FROM_DIP(5));

    m_staticText243 = new wxStaticText(m_panel237, wxID_ANY, _("nodejs path:"), wxDefaultPosition,
                                       wxDLG_UNIT(m_panel237, wxSize(-1, -1)), 0);

    flexGridSizer241->Add(m_staticText243, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5));

    m_filePickerNodeJS = new wxFilePickerCtrl(m_panel237, wxID_ANY, wxEmptyString, _("Select a file"), wxT("*"),
                                              wxDefaultPosition, wxDLG_UNIT(m_panel237, wxSize(-1, -1)),
                                              wxFLP_DEFAULT_STYLE | wxFLP_USE_TEXTCTRL | wxFLP_SMALL);
    m_filePickerNodeJS->SetToolTip(_("Set the path to Node.js executable"));
    m_filePickerNodeJS->SetFocus();

    flexGridSizer241->Add(m_filePickerNodeJS, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5));

    m_button361 = new wxButton(m_panel237, wxID_ANY, _("Suggest..."), wxDefaultPosition,
                               wxDLG_UNIT(m_panel237, wxSize(-1, -1)), wxBU_EXACTFIT);

    flexGridSizer241->Add(m_button361, 0, wxRIGHT | wxTOP | wxBOTTOM, WXC_FROM_DIP(5));

    m_staticText247 = new wxStaticText(m_panel237, wxID_ANY, _("npm path:"), wxDefaultPosition,
                                       wxDLG_UNIT(m_panel237, wxSize(-1, -1)), 0);

    flexGridSizer241->Add(m_staticText247, 0, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, WXC_FROM_DIP(5));

    m_filePickerNpm = new wxFilePickerCtrl(m_panel237, wxID_ANY, wxEmptyString, _("Select a file"), wxT("*"),
                                           wxDefaultPosition, wxDLG_UNIT(m_panel237, wxSize(-1, -1)),
                                           wxFLP_DEFAULT_STYLE | wxFLP_USE_TEXTCTRL | wxFLP_SMALL);
    m_filePickerNpm->SetToolTip(_("Set the path to npm executable"));

    flexGridSizer241->Add(m_filePickerNpm, 0, wxALL | wxEXPAND, WXC_FROM_DIP(5));

    m_button363 = new wxButton(m_panel237, wxID_ANY, _("Suggest..."), wxDefaultPosition,
                               wxDLG_UNIT(m_panel237, wxSize(-1, -1)), wxBU_EXACTFIT);

    flexGridSizer241->Add(m_button363, 0, wxRIGHT | wxTOP | wxBOTTOM, WXC_FROM_DIP(5));

    flexGridSizer241->Add(0, 0, 1, wxALL, WXC_FROM_DIP(5));

    m_checkBoxJSLint = new wxCheckBox(m_panel237, wxID_ANY, _("Lint on file save"), wxDefaultPosition,
                                      wxDLG_UNIT(m_panel237, wxSize(-1, -1)), 0);
    m_checkBoxJSLint->SetValue(false);

    flexGridSizer241->Add(m_checkBoxJSLint, 0, wxALL, WXC_FROM_DIP(5));

    m_stdBtnSizer4 = new wxStdDialogButtonSizer();

    boxSizer2->Add(m_stdBtnSizer4, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, WXC_FROM_DIP(10));

    m_buttonCancel = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0);
    m_stdBtnSizer4->AddButton(m_buttonCancel);

    m_buttonOK = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0);
    m_buttonOK->SetDefault();
    m_stdBtnSizer4->AddButton(m_buttonOK);

    m_buttonApply = new wxButton(this, wxID_APPLY, wxT(""), wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1, -1)), 0);
    m_stdBtnSizer4->AddButton(m_buttonApply);
    m_stdBtnSizer4->Realize();

    SetName(wxT("WebToolsSettingsBase"));
    SetSize(wxDLG_UNIT(this, wxSize(-1, -1)));
    if(GetSizer()) { GetSizer()->Fit(this); }
    if(GetParent()) {
        CentreOnParent(wxBOTH);
    } else {
        CentreOnScreen(wxBOTH);
    }
    // Connect events
    m_checkBoxEnableJsCC->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
                                  wxCommandEventHandler(WebToolsSettingsBase::OnModified), NULL, this);
    m_checkBoxEnableXmlCC->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
                                   wxCommandEventHandler(WebToolsSettingsBase::OnModified), NULL, this);
    m_checkBoxEnableHtmlCC->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
                                    wxCommandEventHandler(WebToolsSettingsBase::OnModified), NULL, this);
    m_pgMgr->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(WebToolsSettingsBase::OnJSValueChanged), NULL, this);
    m_filePickerNodeJS->Connect(wxEVT_COMMAND_FILEPICKER_CHANGED,
                                wxFileDirPickerEventHandler(WebToolsSettingsBase::OnNodejsPath), NULL, this);
    m_button361->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
                         wxCommandEventHandler(WebToolsSettingsBase::OnSuggestNodeJSPaths), NULL, this);
    m_filePickerNpm->Connect(wxEVT_COMMAND_FILEPICKER_CHANGED,
                             wxFileDirPickerEventHandler(WebToolsSettingsBase::OnNpmPath), NULL, this);
    m_button363->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
                         wxCommandEventHandler(WebToolsSettingsBase::OnSuggestNodeJSPaths), NULL, this);
    m_checkBoxJSLint->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(WebToolsSettingsBase::OnLintOnSave),
                              NULL, this);
    m_buttonOK->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WebToolsSettingsBase::OnOKUI), NULL, this);
    m_buttonOK->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(WebToolsSettingsBase::OnOK), NULL, this);
    m_buttonApply->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(WebToolsSettingsBase::OnApply), NULL,
                           this);
    m_buttonApply->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(WebToolsSettingsBase::OnOKUI), NULL, this);
}
TagsOptionsBaseDlg::TagsOptionsBaseDlg(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
    : wxDialog(parent, id, title, pos, size, style)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxC6B32InitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(mainSizer);
    
    m_treebook2 = new wxTreebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
    m_treebook2->SetName(wxT("m_treebook2"));
    
    mainSizer->Add(m_treebook2, 1, wxALL|wxEXPAND, 5);
    
    m_paneDisplayAndBehavior = new wxPanel(m_treebook2, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_treebook2->AddPage(m_paneDisplayAndBehavior, _("Display and Behavior"), false, wxNOT_FOUND);
    
    wxBoxSizer* bSizer19 = new wxBoxSizer(wxVERTICAL);
    m_paneDisplayAndBehavior->SetSizer(bSizer19);
    
    wxStaticBoxSizer* sbSizer2 = new wxStaticBoxSizer( new wxStaticBox(m_paneDisplayAndBehavior, wxID_ANY, _("Display:")), wxVERTICAL);
    
    bSizer19->Add(sbSizer2, 0, wxALL|wxEXPAND, 5);
    
    wxFlexGridSizer* flexGridSizer12 = new wxFlexGridSizer(0, 2, 0, 0);
    flexGridSizer12->SetFlexibleDirection( wxBOTH );
    flexGridSizer12->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    sbSizer2->Add(flexGridSizer12, 0, wxALL, 5);
    
    m_staticText14 = new wxStaticText(m_paneDisplayAndBehavior, wxID_ANY, _("Number of items to display in the completion box:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    flexGridSizer12->Add(m_staticText14, 0, wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5);
    
    m_spinCtrlNumberOfCCItems = new wxTextCtrl(m_paneDisplayAndBehavior, wxID_ANY, wxT("50"), wxDefaultPosition, wxSize(-1, -1), 0);
    #if wxVERSION_NUMBER >= 3000
    m_spinCtrlNumberOfCCItems->SetHint(wxT(""));
    #endif
    
    flexGridSizer12->Add(m_spinCtrlNumberOfCCItems, 0, wxALL|wxALIGN_LEFT, 5);
    
    m_checkBoxEnableCaseSensitiveCompletion = new wxCheckBox(m_paneDisplayAndBehavior, wxID_ANY, _("Code Completion is case sensitive (improves performance)"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkBoxEnableCaseSensitiveCompletion->SetValue(false);
    m_checkBoxEnableCaseSensitiveCompletion->SetToolTip(_("When enabled, the code completion search engine will use case sensitive searches. \nSo 'QString' is NOT equal 'qstring'"));
    
    flexGridSizer12->Add(m_checkBoxEnableCaseSensitiveCompletion, 0, wxALL, 5);
    
    flexGridSizer12->Add(0, 0, 1, wxALL, 5);
    
    m_checkDisplayTypeInfo = new wxCheckBox(m_paneDisplayAndBehavior, wxID_ANY, _("Display type info tooltips"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkDisplayTypeInfo->SetValue(false);
    m_checkDisplayTypeInfo->SetToolTip(_("Display information about the hovered text"));
    
    flexGridSizer12->Add(m_checkDisplayTypeInfo, 0, wxALL, 5);
    
    flexGridSizer12->Add(0, 0, 1, wxALL, 5);
    
    m_checkDisplayFunctionTip = new wxCheckBox(m_paneDisplayAndBehavior, wxID_ANY, _("Display function calltip"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkDisplayFunctionTip->SetValue(false);
    m_checkDisplayFunctionTip->SetToolTip(_("Display function argument list after typing an open brace '('"));
    
    flexGridSizer12->Add(m_checkDisplayFunctionTip, 0, wxALL, 5);
    
    flexGridSizer12->Add(0, 0, 1, wxALL, 5);
    
    m_checkCppKeywordAssist = new wxCheckBox(m_paneDisplayAndBehavior, wxID_ANY, _("Display completion box for language keywords"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkCppKeywordAssist->SetValue(false);
    m_checkCppKeywordAssist->SetToolTip(_("When enabled, codelite will auto show the code completion box for C/C++ keywords after typing 2 chars"));
    
    flexGridSizer12->Add(m_checkCppKeywordAssist, 0, wxALL, 5);
    
    flexGridSizer12->Add(0, 0, 1, wxALL, 5);
    
    m_checkBoxKeepFunctionSignature = new wxCheckBox(m_paneDisplayAndBehavior, wxID_ANY, _("Keep function signature un-formatted"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkBoxKeepFunctionSignature->SetValue(false);
    
    flexGridSizer12->Add(m_checkBoxKeepFunctionSignature, 0, wxALL|wxEXPAND, 5);
    
    wxStaticBoxSizer* sbSizer15 = new wxStaticBoxSizer( new wxStaticBox(m_paneDisplayAndBehavior, wxID_ANY, _("Behavior:")), wxVERTICAL);
    
    bSizer19->Add(sbSizer15, 0, wxALL|wxEXPAND, 5);
    
    wxFlexGridSizer* flexGridSizer59 = new wxFlexGridSizer(0, 1, 0, 0);
    flexGridSizer59->SetFlexibleDirection( wxBOTH );
    flexGridSizer59->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    
    sbSizer15->Add(flexGridSizer59, 0, wxEXPAND, 5);
    
    m_checkBoxretagWorkspaceOnStartup = new wxCheckBox(m_paneDisplayAndBehavior, wxID_ANY, _("Perform a retag  when workspace is loaded"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkBoxretagWorkspaceOnStartup->SetValue(false);
    m_checkBoxretagWorkspaceOnStartup->SetToolTip(_("Retag workspace once loaded"));
    
    flexGridSizer59->Add(m_checkBoxretagWorkspaceOnStartup, 0, wxALL, 5);
    
    m_checkDisableParseOnSave = new wxCheckBox(m_paneDisplayAndBehavior, wxID_ANY, _("Do not parse the file after saving it"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkDisableParseOnSave->SetValue(false);
    m_checkDisableParseOnSave->SetToolTip(_("Do not trigger file parsing after saving a file"));
    
    flexGridSizer59->Add(m_checkDisableParseOnSave, 0, wxALL, 5);
    
    m_checkBoxDeepUsingNamespaceResolving = new wxCheckBox(m_paneDisplayAndBehavior, wxID_ANY, _("Scan all included files to locate 'using namespace' statements"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkBoxDeepUsingNamespaceResolving->SetValue(false);
    m_checkBoxDeepUsingNamespaceResolving->SetToolTip(_("Allways search for 'using namespace' statements in all included files"));
    
    flexGridSizer59->Add(m_checkBoxDeepUsingNamespaceResolving, 0, wxALL, 5);
    
    m_paneColouring = new wxPanel(m_treebook2, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_treebook2->AddPage(m_paneColouring, _("Colouring"), false, wxNOT_FOUND);
    
    wxBoxSizer* bSizer16 = new wxBoxSizer(wxVERTICAL);
    m_paneColouring->SetSizer(bSizer16);
    
    wxArrayString m_pgMgrColouringArr;
    wxUnusedVar(m_pgMgrColouringArr);
    wxArrayInt m_pgMgrColouringIntArr;
    wxUnusedVar(m_pgMgrColouringIntArr);
    m_pgMgrColouring = new wxPropertyGridManager(m_paneColouring, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxPG_DESCRIPTION|wxPG_SPLITTER_AUTO_CENTER|wxPG_BOLD_MODIFIED);
    
    bSizer16->Add(m_pgMgrColouring, 1, wxALL|wxEXPAND, 5);
    
    m_pgPropTrackPreProcessors = m_pgMgrColouring->Append(  new wxBoolProperty( _("Track PreProcessor blocks"), wxPG_LABEL, 0) );
    m_pgPropTrackPreProcessors->SetHelpString(_("Track Pre Processor blocks in the code and colour unreachable code with grey text (\"disabled text\")"));
    
    m_pgPropColourLocalVariables = m_pgMgrColouring->Append(  new wxBoolProperty( _("Colour local variables"), wxPG_LABEL, 1) );
    m_pgPropColourLocalVariables->SetHelpString(_("Local variables inside functions will use their own colour to diffrentiate them from other code\nThe colour can be selected from the 'Colours and Fonts' menu"));
    
    m_pgMgrColouringArr.Clear();
    m_pgMgrColouringIntArr.Clear();
    m_pgMgrColouringArr.Add(_("class"));
    m_pgMgrColouringArr.Add(_("struct"));
    m_pgMgrColouringArr.Add(_("function"));
    m_pgMgrColouringArr.Add(_("enum"));
    m_pgMgrColouringArr.Add(_("enumerator"));
    m_pgMgrColouringArr.Add(_("union"));
    m_pgMgrColouringArr.Add(_("prototype"));
    m_pgMgrColouringArr.Add(_("typedef"));
    m_pgMgrColouringArr.Add(_("macro"));
    m_pgMgrColouringArr.Add(_("namespace"));
    m_pgMgrColouringArr.Add(_("member"));
    m_pgMgrColouringArr.Add(_("variable"));
    m_pgMgrColouringIntArr.Add(CC_COLOUR_CLASS);
    m_pgMgrColouringIntArr.Add(CC_COLOUR_STRUCT);
    m_pgMgrColouringIntArr.Add(CC_COLOUR_FUNCTION);
    m_pgMgrColouringIntArr.Add(CC_COLOUR_ENUM);
    m_pgMgrColouringIntArr.Add(CC_COLOUR_ENUMERATOR);
    m_pgMgrColouringIntArr.Add(CC_COLOUR_UNION);
    m_pgMgrColouringIntArr.Add(CC_COLOUR_PROTOTYPE);
    m_pgMgrColouringIntArr.Add(CC_COLOUR_TYPEDEF);
    m_pgMgrColouringIntArr.Add(CC_COLOUR_MACRO);
    m_pgMgrColouringIntArr.Add(CC_COLOUR_NAMESPACE);
    m_pgMgrColouringIntArr.Add(CC_COLOUR_MEMBER);
    m_pgMgrColouringIntArr.Add(CC_COLOUR_VARIABLE);
    m_pgPropColourWorkspaceSymbols = m_pgMgrColouring->Append(  new wxFlagsProperty( _("Colour workspace symbols"), wxPG_LABEL, m_pgMgrColouringArr, m_pgMgrColouringIntArr, 0) );
    m_pgPropColourWorkspaceSymbols->SetHelpString(_("Select from the list below which symbols type should be coloured by codelite with different colour.\nThe colour is configurable from the 'Colours and Fonts' dialog"));
    
    m_paneTriggering = new wxPanel(m_treebook2, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_treebook2->AddPage(m_paneTriggering, _("Triggering"), false, wxNOT_FOUND);
    
    wxBoxSizer* bSizer17 = new wxBoxSizer(wxVERTICAL);
    m_paneTriggering->SetSizer(bSizer17);
    
    wxStaticBoxSizer* sbSizer7 = new wxStaticBoxSizer( new wxStaticBox(m_paneTriggering, wxID_ANY, _("Automatic Word Completion:")), wxVERTICAL);
    
    bSizer17->Add(sbSizer7, 0, wxALL|wxEXPAND, 5);
    
    wxFlexGridSizer* fgSizer4 = new wxFlexGridSizer(0, 2, 0, 0);
    fgSizer4->SetFlexibleDirection( wxBOTH );
    fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    fgSizer4->AddGrowableCol(1);
    
    sbSizer7->Add(fgSizer4, 0, wxALL|wxEXPAND, 5);
    
    m_checkWordAssist = new wxCheckBox(m_paneTriggering, wxID_ANY, _("Auto display code completion box when typing"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkWordAssist->SetValue(false);
    m_checkWordAssist->SetToolTip(_("When enabled, codelite will auto show the code completion box after N chars were typed"));
    
    fgSizer4->Add(m_checkWordAssist, 0, wxALL, 5);
    
    fgSizer4->Add(0, 0, 1, wxEXPAND, 5);
    
    m_staticTextMinWordLen = new wxStaticText(m_paneTriggering, wxID_ANY, _("Minimun chars to type:"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_staticTextMinWordLen->SetToolTip(_("Minimun chars to type:"));
    
    fgSizer4->Add(m_staticTextMinWordLen, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
    
    m_sliderMinWordLen = new wxSlider(m_paneTriggering, wxID_ANY, 3, 1, 25, wxDefaultPosition, wxSize(-1, -1), wxSL_LABELS|wxSL_AUTOTICKS|wxSL_HORIZONTAL);
    m_sliderMinWordLen->SetToolTip(_("Number of chars to type before showing the code completion box"));
    
    fgSizer4->Add(m_sliderMinWordLen, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
    
    m_checkAutoInsertSingleChoice = new wxCheckBox(m_paneTriggering, wxID_ANY, _("Auto insert single match"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkAutoInsertSingleChoice->SetValue(true);
    m_checkAutoInsertSingleChoice->SetToolTip(_("When there is only a single match don't show the code completion box but rather insert the match"));
    
    fgSizer4->Add(m_checkAutoInsertSingleChoice, 0, wxALL, 5);
    
    m_treebook2->AddPage(NULL, _("CTags"), false, wxNOT_FOUND);
    
    m_panelCtagsSearchPaths = new wxPanel(m_treebook2, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_treebook2->InsertSubPage(3, m_panelCtagsSearchPaths, _("Search paths"), false, wxNOT_FOUND);
    
    wxBoxSizer* bSizer7 = new wxBoxSizer(wxVERTICAL);
    m_panelCtagsSearchPaths->SetSizer(bSizer7);
    
    m_notebook36 = new wxNotebook(m_panelCtagsSearchPaths, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
    m_notebook36->SetName(wxT("m_notebook36"));
    
    bSizer7->Add(m_notebook36, 1, wxALL|wxEXPAND, 5);
    
    m_panel38 = new wxPanel(m_notebook36, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_notebook36->AddPage(m_panel38, _("Search Paths"), true);
    
    wxBoxSizer* boxSizer30 = new wxBoxSizer(wxVERTICAL);
    m_panel38->SetSizer(boxSizer30);
    
    m_banner34 = new wxBannerWindow(m_panel38, wxID_ANY, wxTOP, wxDefaultPosition, wxSize(-1,-1), wxBORDER_THEME);
    m_banner34->SetBitmap(wxNullBitmap);
    m_banner34->SetText(_("Search paths"), _("codelite will search for include files in these locations"));
    m_banner34->SetGradient(wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION), wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION));
    m_banner34->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_CAPTIONTEXT));
    
    boxSizer30->Add(m_banner34, 0, wxALL|wxEXPAND, 5);
    
    wxBoxSizer* bSizer9 = new wxBoxSizer(wxHORIZONTAL);
    
    boxSizer30->Add(bSizer9, 1, wxEXPAND, 5);
    
    m_textCtrlCtagsSearchPaths = new wxTextCtrl(m_panel38, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), wxTE_RICH2|wxTE_PROCESS_TAB|wxTE_PROCESS_ENTER|wxTE_MULTILINE);
    #ifdef __WXMSW__
    // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE
    wxFont m_textCtrlCtagsSearchPathsFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
    m_textCtrlCtagsSearchPathsFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #else
    wxFont m_textCtrlCtagsSearchPathsFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT);
    m_textCtrlCtagsSearchPathsFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #endif
    m_textCtrlCtagsSearchPaths->SetFont(m_textCtrlCtagsSearchPathsFont);
    
    bSizer9->Add(m_textCtrlCtagsSearchPaths, 1, wxALL|wxEXPAND, 5);
    
    wxBoxSizer* bSizer8 = new wxBoxSizer(wxVERTICAL);
    
    bSizer9->Add(bSizer8, 0, wxEXPAND, 5);
    
    m_buttonAddSearchPath = new wxButton(m_panel38, wxID_ANY, _("&Add..."), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer8->Add(m_buttonAddSearchPath, 0, wxALL|wxEXPAND, 5);
    
    m_buttonCtagsSuggest = new wxButton(m_panel38, wxID_ANY, _("Suggest"), wxDefaultPosition, wxSize(-1,-1), 0);
    m_buttonCtagsSuggest->SetToolTip(_("Suggest search paths based on the installed compilers"));
    
    bSizer8->Add(m_buttonCtagsSuggest, 0, wxALL, 5);
    
    m_panel40 = new wxPanel(m_notebook36, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_notebook36->AddPage(m_panel40, _("Exclude Paths"), false);
    
    wxBoxSizer* boxSizer42 = new wxBoxSizer(wxVERTICAL);
    m_panel40->SetSizer(boxSizer42);
    
    m_banner44 = new wxBannerWindow(m_panel40, wxID_ANY, wxTOP, wxDefaultPosition, wxSize(-1,-1), wxBORDER_THEME);
    m_banner44->SetBitmap(wxNullBitmap);
    m_banner44->SetText(_("Exclude paths"), _("codelite code completion will ignore any files found in one of the paths below"));
    m_banner44->SetGradient(wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION), wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION));
    m_banner44->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_CAPTIONTEXT));
    
    boxSizer42->Add(m_banner44, 0, wxALL|wxEXPAND, 5);
    
    wxBoxSizer* bSizer91 = new wxBoxSizer(wxHORIZONTAL);
    
    boxSizer42->Add(bSizer91, 1, wxEXPAND, 5);
    
    m_textCtrlCtagsExcludePaths = new wxTextCtrl(m_panel40, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), wxTE_RICH2|wxTE_PROCESS_TAB|wxTE_PROCESS_ENTER|wxTE_MULTILINE);
    #ifdef __WXMSW__
    // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE
    wxFont m_textCtrlCtagsExcludePathsFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
    m_textCtrlCtagsExcludePathsFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #else
    wxFont m_textCtrlCtagsExcludePathsFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT);
    m_textCtrlCtagsExcludePathsFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #endif
    m_textCtrlCtagsExcludePaths->SetFont(m_textCtrlCtagsExcludePathsFont);
    
    bSizer91->Add(m_textCtrlCtagsExcludePaths, 1, wxALL|wxEXPAND, 5);
    
    wxBoxSizer* bSizer81 = new wxBoxSizer(wxVERTICAL);
    
    bSizer91->Add(bSizer81, 0, wxEXPAND, 5);
    
    m_buttonAddExcludePath = new wxButton(m_panel40, wxID_ANY, _("&Add..."), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer81->Add(m_buttonAddExcludePath, 0, wxALL|wxEXPAND, 5);
    
    m_panelCtagsAdvanced = new wxPanel(m_treebook2, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_treebook2->InsertSubPage(3, m_panelCtagsAdvanced, _("Advanced"), false, wxNOT_FOUND);
    
    wxBoxSizer* bSizer6 = new wxBoxSizer(wxVERTICAL);
    m_panelCtagsAdvanced->SetSizer(bSizer6);
    
    wxFlexGridSizer* fgSizer2 = new wxFlexGridSizer(0, 2, 0, 0);
    fgSizer2->SetFlexibleDirection( wxBOTH );
    fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    fgSizer2->AddGrowableCol(1);
    
    bSizer6->Add(fgSizer2, 0, wxALL|wxEXPAND, 5);
    
    m_staticText3 = new wxStaticText(m_panelCtagsAdvanced, wxID_ANY, _("File Types:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    fgSizer2->Add(m_staticText3, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
    
    m_textFileSpec = new wxTextCtrl(m_panelCtagsAdvanced, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    #if wxVERSION_NUMBER >= 3000
    m_textFileSpec->SetHint(wxT(""));
    #endif
    
    fgSizer2->Add(m_textFileSpec, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);
    
    wxBoxSizer* bSizer14 = new wxBoxSizer(wxVERTICAL);
    
    bSizer6->Add(bSizer14, 0, wxEXPAND, 5);
    
    m_staticText92 = new wxStaticText(m_panelCtagsAdvanced, wxID_ANY, _("CodeLite can suggest a list of 'Tokens' that will be added to the 'Tokens' table based on parsing the following header files \n(space separated list):"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer14->Add(m_staticText92, 0, wxALL|wxEXPAND, 5);
    
    wxBoxSizer* bSizer15 = new wxBoxSizer(wxHORIZONTAL);
    
    bSizer14->Add(bSizer15, 1, wxEXPAND, 5);
    
    m_textCtrlFilesList = new wxTextCtrl(m_panelCtagsAdvanced, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0);
    #if wxVERSION_NUMBER >= 3000
    m_textCtrlFilesList->SetHint(wxT(""));
    #endif
    
    bSizer15->Add(m_textCtrlFilesList, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5);
    
    m_buttonParse = new wxButton(m_panelCtagsAdvanced, wxID_ANY, _("Parse!"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer15->Add(m_buttonParse, 0, wxALL, 5);
    
    m_notebook2 = new wxNotebook(m_panelCtagsAdvanced, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), 0);
    m_notebook2->SetName(wxT("m_notebook2"));
    
    bSizer6->Add(m_notebook2, 1, wxALL|wxEXPAND, 5);
    
    m_panelClangGeneral = new wxPanel(m_notebook2, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL);
    m_panelClangGeneral->SetToolTip(_("List here list of tokens to be pre-processed by codelite-indexer. \nUsually, you would like to add here macros which confuse the parser\nClick the below link to read more about this feature and the syntax supported.\n"));
    m_notebook2->AddPage(m_panelClangGeneral, _("Tokens"), false);
    
    wxBoxSizer* bSizer5 = new wxBoxSizer(wxVERTICAL);
    m_panelClangGeneral->SetSizer(bSizer5);
    
    m_textPrep = new wxTextCtrl(m_panelClangGeneral, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), wxTE_RICH2|wxTE_PROCESS_TAB|wxTE_PROCESS_ENTER|wxTE_MULTILINE|wxTE_DONTWRAP);
    #ifdef __WXMSW__
    // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE
    wxFont m_textPrepFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
    m_textPrepFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #else
    wxFont m_textPrepFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT);
    m_textPrepFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #endif
    m_textPrep->SetFont(m_textPrepFont);
    
    bSizer5->Add(m_textPrep, 1, wxEXPAND, 5);
    
    wxStaticBoxSizer* sbSizer52 = new wxStaticBoxSizer( new wxStaticBox(m_panelClangGeneral, wxID_ANY, wxT("")), wxVERTICAL);
    
    bSizer5->Add(sbSizer52, 0, wxALL|wxEXPAND, 5);
    
    m_staticText9 = new wxStaticText(m_panelClangGeneral, wxID_ANY, _("List here list of tokens to be pre-processed by codelite-indexer usually, you would like to add here\nmacros which confuse the parser"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_staticText9->SetToolTip(_("List here list of tokens to be pre-processed by codelite-indexer. \nUsually, you would like to add here macros which confuse the parser\nClick the below link to read more about this feature and the syntax supported.\n"));
    
    sbSizer52->Add(m_staticText9, 0, wxALL|wxEXPAND, 5);
    
    m_hyperlink1 = new wxHyperlinkCtrl(m_panelClangGeneral, wxID_ANY, _("Macros Handling"), wxT("http://codelite.org/LiteEditor/MacrosHandling101"), wxDefaultPosition, wxSize(-1, -1), wxHL_DEFAULT_STYLE);
    
    sbSizer52->Add(m_hyperlink1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
    
    wxBoxSizer* bSizer131 = new wxBoxSizer(wxHORIZONTAL);
    
    bSizer5->Add(bSizer131, 0, wxEXPAND, 5);
    
    m_panel5 = new wxPanel(m_notebook2, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL);
    m_notebook2->AddPage(m_panel5, _("Types"), false);
    
    wxBoxSizer* bSizer13 = new wxBoxSizer(wxVERTICAL);
    m_panel5->SetSizer(bSizer13);
    
    wxStaticBoxSizer* sbSizer521 = new wxStaticBoxSizer( new wxStaticBox(m_panel5, wxID_ANY, wxT("")), wxVERTICAL);
    
    bSizer13->Add(sbSizer521, 0, wxALL|wxEXPAND, 5);
    
    m_staticText91 = new wxStaticText(m_panel5, wxID_ANY, _("Specify here a list of types which are to be specially handled while parsing C and C++\nsource files in the format of TYPE1=TYPE2. So when TYPE1 is found, CodeLite will offer\ncompletion as if it was TYPE2 was found"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    sbSizer521->Add(m_staticText91, 0, wxALL|wxEXPAND, 5);
    
    m_textTypes = new wxTextCtrl(m_panel5, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), wxTE_RICH2|wxTE_MULTILINE);
    #ifdef __WXMSW__
    // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE
    wxFont m_textTypesFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
    m_textTypesFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #else
    wxFont m_textTypesFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT);
    m_textTypesFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #endif
    m_textTypes->SetFont(m_textTypesFont);
    
    bSizer13->Add(m_textTypes, 1, wxEXPAND, 5);
    
    m_panelClang = new wxPanel(m_treebook2, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_treebook2->AddPage(m_panelClang, _("Clang"), false, wxNOT_FOUND);
    
    wxBoxSizer* bSizer18 = new wxBoxSizer(wxVERTICAL);
    m_panelClang->SetSizer(bSizer18);
    
    m_checkBoxEnableClangCC = new wxCheckBox(m_panelClang, wxID_ANY, _("Enable clang code completion"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkBoxEnableClangCC->SetValue(false);
    
    bSizer18->Add(m_checkBoxEnableClangCC, 0, wxALL, 5);
    
    m_notebookClang = new wxNotebook(m_panelClang, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), 0);
    m_notebookClang->SetName(wxT("m_notebookClang"));
    
    bSizer18->Add(m_notebookClang, 1, wxALL|wxEXPAND, 5);
    
    m_panel3 = new wxPanel(m_notebookClang, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL);
    m_notebookClang->AddPage(m_panel3, _("General"), false);
    
    wxBoxSizer* bSizer20 = new wxBoxSizer(wxVERTICAL);
    m_panel3->SetSizer(bSizer20);
    
    wxFlexGridSizer* fgSizer5 = new wxFlexGridSizer(0, 1, 0, 0);
    fgSizer5->SetFlexibleDirection( wxBOTH );
    fgSizer5->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    fgSizer5->AddGrowableCol(0);
    
    bSizer20->Add(fgSizer5, 0, wxALL|wxEXPAND, 5);
    
    m_checkBoxClangFirst = new wxCheckBox(m_panel3, wxID_ANY, _("Only use clang code completion"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_checkBoxClangFirst->SetValue(false);
    m_checkBoxClangFirst->SetToolTip(_("Check this option so codelite will use the clang's code completion over the ctags one.\nclang is more accurate, while ctags is faster"));
    
    fgSizer5->Add(m_checkBoxClangFirst, 0, wxALL, 5);
    
    m_staticText13 = new wxStaticText(m_panel3, wxID_ANY, _("Search paths:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer20->Add(m_staticText13, 0, wxALL|wxEXPAND, 5);
    
    m_panel8 = new wxPanel(m_panel3, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL);
    
    bSizer20->Add(m_panel8, 1, wxALL|wxEXPAND, 5);
    
    wxBoxSizer* bSizer24 = new wxBoxSizer(wxVERTICAL);
    m_panel8->SetSizer(bSizer24);
    
    m_textCtrlClangSearchPaths = new wxTextCtrl(m_panel8, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, -1), wxTE_RICH2|wxTE_PROCESS_TAB|wxTE_PROCESS_ENTER|wxTE_MULTILINE);
    #ifdef __WXMSW__
    // To get the newer version of the font on MSW, we use font wxSYS_DEFAULT_GUI_FONT with family set to wxFONTFAMILY_TELETYPE
    wxFont m_textCtrlClangSearchPathsFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
    m_textCtrlClangSearchPathsFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #else
    wxFont m_textCtrlClangSearchPathsFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT);
    m_textCtrlClangSearchPathsFont.SetFamily(wxFONTFAMILY_TELETYPE);
    #endif
    m_textCtrlClangSearchPaths->SetFont(m_textCtrlClangSearchPathsFont);
    m_textCtrlClangSearchPaths->SetToolTip(_("Add here search paths used by clang for locating include files"));
    
    bSizer24->Add(m_textCtrlClangSearchPaths, 1, wxEXPAND, 5);
    
    m_buttonSuggest = new wxButton(m_panel8, wxID_ANY, _("Suggest search paths..."), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer24->Add(m_buttonSuggest, 0, wxTOP|wxBOTTOM|wxEXPAND, 5);
    
    m_panel4 = new wxPanel(m_notebookClang, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxTAB_TRAVERSAL);
    m_notebookClang->AddPage(m_panel4, _("Advanced"), false);
    
    wxBoxSizer* bSizer21 = new wxBoxSizer(wxVERTICAL);
    m_panel4->SetSizer(bSizer21);
    
    wxFlexGridSizer* fgSizerClangCache = new wxFlexGridSizer(0, 2, 0, 0);
    fgSizerClangCache->SetFlexibleDirection( wxBOTH );
    fgSizerClangCache->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
    fgSizerClangCache->AddGrowableCol(1);
    
    bSizer21->Add(fgSizerClangCache, 0, wxEXPAND, 5);
    
    m_staticText101 = new wxStaticText(m_panel4, wxID_ANY, _("Clear clang translation unit cache:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    fgSizerClangCache->Add(m_staticText101, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
    
    m_buttonClearCache = new wxButton(m_panel4, wxID_CLEAR, _("Clear"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_buttonClearCache->SetToolTip(_("Clicking this button will erase all clang's generated PCH files. \nUse this button as the first step to resolve a code completion issue"));
    
    fgSizerClangCache->Add(m_buttonClearCache, 0, wxALL|wxEXPAND|wxALIGN_RIGHT, 5);
    
    m_staticText12 = new wxStaticText(m_panel4, wxID_ANY, _("Parsing policy:"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    fgSizerClangCache->Add(m_staticText12, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
    
    wxArrayString m_choiceCachePolicyArr;
    m_choiceCachePolicyArr.Add(wxT("Lazy"));
    m_choiceCachePolicyArr.Add(wxT("On File Load"));
    m_choiceCachePolicy = new wxChoice(m_panel4, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), m_choiceCachePolicyArr, 0);
    m_choiceCachePolicy->SetSelection(1);
    
    fgSizerClangCache->Add(m_choiceCachePolicy, 0, wxALL|wxEXPAND|wxALIGN_RIGHT, 5);
    
    wxBoxSizer* bSizer3 = new wxBoxSizer(wxHORIZONTAL);
    
    mainSizer->Add(bSizer3, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_buttonOK = new wxButton(this, wxID_OK, _("&OK"), wxDefaultPosition, wxSize(-1, -1), 0);
    m_buttonOK->SetDefault();
    
    bSizer3->Add(m_buttonOK, 0, wxALL, 5);
    
    m_buttonCancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize(-1, -1), 0);
    
    bSizer3->Add(m_buttonCancel, 0, wxALL, 5);
    
    
    #if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(m_treebook2)){
        wxPersistenceManager::Get().RegisterAndRestore(m_treebook2);
    }
    #endif
    m_treebook2->ExpandNode( 0, true );
    m_treebook2->ExpandNode( 1, true );
    m_treebook2->ExpandNode( 2, true );
    m_treebook2->ExpandNode( 3, true );
    m_treebook2->ExpandNode( 4, true );
    
    #if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(m_notebook36)){
        wxPersistenceManager::Get().RegisterAndRestore(m_notebook36);
    }
    #endif
    m_treebook2->ExpandNode( 5, true );
    
    #if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(m_notebook2)){
        wxPersistenceManager::Get().RegisterAndRestore(m_notebook2);
    }
    #endif
    m_treebook2->ExpandNode( 6, true );
    
    #if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(m_notebookClang)){
        wxPersistenceManager::Get().RegisterAndRestore(m_notebookClang);
    }
    #endif
    
    SetName(wxT("TagsOptionsBaseDlg"));
    SetSizeHints(-1,-1);
    if ( GetSizer() ) {
         GetSizer()->Fit(this);
    }
    CentreOnParent(wxBOTH);
#if wxVERSION_NUMBER >= 2900
    if(!wxPersistenceManager::Get().Find(this)) {
        wxPersistenceManager::Get().RegisterAndRestore(this);
    }
#endif
    // Connect events
    m_pgMgrColouring->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(TagsOptionsBaseDlg::OnColouringPropertyValueChanged), NULL, this);
    m_staticTextMinWordLen->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnAutoShowWordAssitUI), NULL, this);
    m_sliderMinWordLen->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnAutoShowWordAssitUI), NULL, this);
    m_buttonAddSearchPath->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnAddSearchPath), NULL, this);
    m_buttonCtagsSuggest->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnSuggestCtags), NULL, this);
    m_buttonAddExcludePath->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnAddExcludePath), NULL, this);
    m_buttonParse->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnParse), NULL, this);
    m_buttonParse->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnFileSelectedUI), NULL, this);
    m_notebookClang->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClangCCEnabledUI), NULL, this);
    m_checkBoxClangFirst->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClangCCEnabledUI), NULL, this);
    m_textCtrlClangSearchPaths->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClangCCEnabledUI), NULL, this);
    m_buttonSuggest->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnSuggestSearchPaths), NULL, this);
    m_buttonSuggest->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClangCCEnabledUI), NULL, this);
    m_staticText101->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClangCCEnabledUI), NULL, this);
    m_buttonClearCache->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnClearClangCache), NULL, this);
    m_buttonClearCache->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(TagsOptionsBaseDlg::OnClearClangCacheUI), NULL, this);
    m_buttonOK->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TagsOptionsBaseDlg::OnButtonOK), NULL, this);
    
}