Пример #1
0
void wxSTEditorTreeCtrl::SetSTENotebook(wxSTEditorNotebook* notebook)
{
    if (m_steNotebook != NULL)
    {
        m_steNotebook->Disconnect(wxID_ANY, wxEVT_DESTROY,
                                  wxWindowDestroyEventHandler(wxSTEditorTreeCtrl::OnWindowDestroy),
                                  NULL, this);
        m_steNotebook->Disconnect(wxID_ANY, wxEVT_STNOTEBOOK_PAGE_CHANGED,
                                  wxNotebookEventHandler(wxSTEditorTreeCtrl::OnNotebookPageChanged),
                                  NULL, this);
        m_steNotebook->Disconnect(wxID_ANY, wxEVT_STEDITOR_STATE_CHANGED,
                                  wxSTEditorEventHandler(wxSTEditorTreeCtrl::OnSTEState),
                                  NULL, this);
    }

    m_steNotebook = notebook;

    DeleteAllItems();
    m_windowToSTETreeItemDataMap.clear();

    if (m_steNotebook != NULL)
    {
        UpdateFromNotebook();

        m_steNotebook->Connect(wxID_ANY, wxEVT_DESTROY,
                               wxWindowDestroyEventHandler(wxSTEditorTreeCtrl::OnWindowDestroy),
                               NULL, this);
        m_steNotebook->Connect(wxID_ANY, wxEVT_STNOTEBOOK_PAGE_CHANGED,
                               wxNotebookEventHandler(wxSTEditorTreeCtrl::OnNotebookPageChanged),
                               NULL, this);
        m_steNotebook->Connect(wxID_ANY, wxEVT_STEDITOR_STATE_CHANGED,
                               wxSTEditorEventHandler(wxSTEditorTreeCtrl::OnSTEState),
                               NULL, this);
    }
}
Пример #2
0
MyDialog5::~MyDialog5()
{
	// Disconnect Events
	m_wxNotebook234->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( MyDialog5::OnNoteBookFit ), NULL, this );
	m_button811->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MyDialog5::OnConverttoDegree ), NULL, this );
	m_button81->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MyDialog5::OnConverttoDegree ), NULL, this );
	
}
PANEL_PROPERTIES_BASE::~PANEL_PROPERTIES_BASE()
{
	// Disconnect Events
	m_notebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( PANEL_PROPERTIES_BASE::OnPageChanged ), NULL, this );
	m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnAcceptPrms ), NULL, this );
	m_buttonDefault->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnSetDefaultValues ), NULL, this );
	m_buttonGeneralOptsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnAcceptPrms ), NULL, this );

}
Пример #4
0
CDialogWlanTestBase::~CDialogWlanTestBase()
{
	// Disconnect Events
	this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( CDialogWlanTestBase::OnIdle ) );
	this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( CDialogWlanTestBase::OnInitDialog ) );
	m_radioBox_TCPUDP->Disconnect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( CDialogWlanTestBase::TCPUDPOnRadioBox ), NULL, this );
	m_notebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( CDialogWlanTestBase::OnNotebookPageChanged ), NULL, this );
	
}
Пример #5
0
Notebook::Notebook(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, long style)
    : wxNotebook(parent, id, pos, size, wxNB_DEFAULT)
    , m_popupWin(NULL)
    , m_contextMenu(NULL)
    , m_style(style)
    , m_notify (true)
    , m_imgList(NULL)
    , m_startingTab(Notebook::npos)
{
    Initialize();
    SetPadding(wxSize(0, 0));
    Connect(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,  wxNotebookEventHandler(Notebook::OnIternalPageChanged),  NULL, this);
    Connect(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, wxNotebookEventHandler(Notebook::OnIternalPageChanging), NULL, this);
    Connect(wxEVT_NAVIGATION_KEY,                 wxNavigationKeyEventHandler(Notebook::OnNavigationKey),  NULL, this);
    Connect(wxEVT_MIDDLE_DOWN,                    wxMouseEventHandler(Notebook::OnMouseMiddle),            NULL, this);
    Connect(wxEVT_LEFT_DCLICK,                    wxMouseEventHandler(Notebook::OnMouseLeftDClick),        NULL, this);
    Connect(wxEVT_CONTEXT_MENU,                   wxContextMenuEventHandler(Notebook::OnMenu),             NULL, this);
}
Пример #6
0
Notebook::~Notebook()
{
    Disconnect(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,  wxNotebookEventHandler(Notebook::OnIternalPageChanged),  NULL, this);
    Disconnect(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, wxNotebookEventHandler(Notebook::OnIternalPageChanging), NULL, this);
    Disconnect(wxEVT_NAVIGATION_KEY,                 wxNavigationKeyEventHandler(Notebook::OnNavigationKey),  NULL, this);
    Disconnect(wxEVT_MIDDLE_DOWN,                    wxMouseEventHandler(Notebook::OnMouseMiddle),            NULL, this);
    Disconnect(wxEVT_LEFT_DCLICK,                    wxMouseEventHandler(Notebook::OnMouseLeftDClick),        NULL, this);
    Disconnect(wxEVT_CONTEXT_MENU,                   wxContextMenuEventHandler(Notebook::OnMenu),             NULL, this);

    std::map<wxWindow*, MyGtkPageInfo*>::iterator iter = m_gtk_page_info.begin();
    for(; iter != m_gtk_page_info.end(); iter++) {
        gtk_widget_destroy(iter->second->m_button);
        delete iter->second;
    }
    m_gtk_page_info.clear();

    if(m_imgList) {
        delete m_imgList;
        m_imgList = NULL;
    }
}
Пример #7
0
MainFrameLayout::~MainFrameLayout()
{
	// Disconnect Events
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameLayout::exit ) );
	this->Disconnect( wxID_TOOL_REMOVE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolRemove ) );
	this->Disconnect( wxID_TOOL_CONTINUE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolContinue ) );
	this->Disconnect( wxID_TOOL_STEP, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolStep ) );
	this->Disconnect( wxID_TOOL_STEPIN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolStepIn ) );
	this->Disconnect( wxID_TOOL_EVAL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolEval ) );
	this->Disconnect( wxID_TOOL_BREAKPOINT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolBreakpoint ) );
	m_notebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( MainFrameLayout::pageChanged ), NULL, this );
}
Пример #8
0
MemCheckOutputViewBase::~MemCheckOutputViewBase()
{
    this->Disconnect(ID_TOOL_STOP_PROCESS, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnStop), NULL, this);
    this->Disconnect(ID_TOOL_STOP_PROCESS, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnStopUI), NULL, this);
    this->Disconnect(XRCID("memcheck_expand_all"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnExpandAll), NULL, this);
    this->Disconnect(XRCID("memcheck_expand_all"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnMemCheckUI), NULL, this);
    this->Disconnect(XRCID("memcheck_next"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnJumpToNext), NULL, this);
    this->Disconnect(XRCID("memcheck_next"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnMemCheckUI), NULL, this);
    this->Disconnect(XRCID("memcheck_prev"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnJumpToPrev), NULL, this);
    this->Disconnect(XRCID("memcheck_prev"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnMemCheckUI), NULL, this);
    this->Disconnect(XRCID("memcheck_open_plain"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnMemCheckUI), NULL, this);
    this->Disconnect(XRCID("memcheck_open_plain"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnOpenPlain), NULL, this);
    m_notebookOutputView->Disconnect(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler(MemCheckOutputViewBase::OutputViewPageChanged), NULL, this);
    m_dataViewCtrlErrors->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(MemCheckOutputViewBase::OnActivated), NULL, this);
    m_dataViewCtrlErrors->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEventHandler(MemCheckOutputViewBase::OnValueChanged), NULL, this);
    m_dataViewCtrlErrors->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler(MemCheckOutputViewBase::OnContextMenu), NULL, this);
    m_dataViewCtrlErrors->Disconnect(wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler(MemCheckOutputViewBase::OnSelectionChanged), NULL, this);
    m_bmpButtonPageFirst->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnPageFirst), NULL, this);
    m_bmpButtonPageFirst->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnErrorsPanelUI), NULL, this);
    m_bmpButtonPagePrev->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnPagePrev), NULL, this);
    m_bmpButtonPagePrev->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnErrorsPanelUI), NULL, this);
    m_textCtrlPageNumber->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnErrorsPanelUI), NULL, this);
    m_textCtrlPageNumber->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(MemCheckOutputViewBase::OnPageSelect), NULL, this);
    m_bmpButtonPageNext->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnPageNext), NULL, this);
    m_bmpButtonPageNext->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnErrorsPanelUI), NULL, this);
    m_bmpButtonPageLast->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnPageLast), NULL, this);
    m_bmpButtonPageLast->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnErrorsPanelUI), NULL, this);
    m_choiceSuppFile->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(MemCheckOutputViewBase::OnSuppFileSelected), NULL, this);
    m_choiceSuppFile->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    m_buttonSuppOpen->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnSuppFileOpen), NULL, this);
    m_buttonSuppOpen->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    m_searchCtrlFilter->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(MemCheckOutputViewBase::OnFilterErrors), NULL, this);
    m_searchCtrlFilter->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    m_buttonClearFilter->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnClearFilter), NULL, this);
    m_buttonClearFilter->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    m_listCtrlErrors->Disconnect(wxEVT_SIZE, wxSizeEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsResize), NULL, this);
    m_listCtrlErrors->Disconnect(wxEVT_MOTION, wxMouseEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsMouseMotion), NULL, this);
    m_listCtrlErrors->Disconnect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsActivated), NULL, this);
    m_listCtrlErrors->Disconnect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsSelected), NULL, this);
    m_listCtrlErrors->Disconnect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsDeselected), NULL, this);
    m_listCtrlErrors->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsKeyDown), NULL, this);
    m_listCtrlErrors->Disconnect(wxEVT_KEY_UP, wxKeyEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsKeyUp), NULL, this);
    m_listCtrlErrors->Disconnect(wxEVT_CHAR, wxKeyEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsChar), NULL, this);
    m_listCtrlErrors->Disconnect(wxEVT_LEFT_DOWN, wxMouseEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsLeftDown), NULL, this);
    m_listCtrlErrors->Disconnect(wxEVT_LEFT_UP, wxMouseEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsLeftUp), NULL, this);
    m_listCtrlErrors->Disconnect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsMouseLeave), NULL, this);
    m_buttonSuppressAll->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnSuppressAll), NULL, this);
    m_buttonSuppressAll->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    m_buttonSuppressSelected->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnSuppressSelected), NULL, this);
    m_buttonSuppressSelected->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    
}
Пример #9
0
DlgDef::~DlgDef()
{
	// Disconnect Events
	m_button11->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnGCCalculate ), NULL, this );
	m_button111->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnExportGC ), NULL, this );
	m_button6->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnExportRH ), NULL, this );
	m_button112->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnGCLCalculate ), NULL, this );
	m_button1111->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnExportGCL ), NULL, this );
	m_wxNotebook234->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DlgDef::OnNoteBookFit ), NULL, this );
	m_button7->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnStartPaste ), NULL, this );
	m_button9->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnEndPaste ), NULL, this );
	m_button811->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnConverttoDegree ), NULL, this );
	m_button81->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnConverttoDegree ), NULL, this );
	
}
Пример #10
0
BrandonFrameGUI::~BrandonFrameGUI()
{
	// Disconnect Events
	notebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( BrandonFrameGUI::OnChangePage ), NULL, this );
	sourceImages->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( BrandonFrameGUI::OnSelectSource ), NULL, this );
	m_button4->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnSourceFiles ), NULL, this );
	mode->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( BrandonFrameGUI::OnModeChange ), NULL, this );
	colorkey->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnColorKey ), NULL, this );
	command->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnExportCommand ), NULL, this );
	exportImage->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnExport ), NULL, this );
	dither->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnDither ), NULL, this );
	previousImage->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnPreviousImage ), NULL, this );
	nextImage->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnNextImage ), NULL, this );
	
}
Пример #11
0
MainFrameLayout::MainFrameLayout( 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_menubar = new wxMenuBar( 0 );
	m_menuFile = new wxMenu();
	wxMenuItem* m_menuItemExit;
	m_menuItemExit = new wxMenuItem( m_menuFile, wxID_MENU_EXIT, wxString( wxT("Exit") ) , wxEmptyString, wxITEM_NORMAL );
	m_menuFile->Append( m_menuItemExit );
	
	m_menubar->Append( m_menuFile, wxT("File") );
	
	this->SetMenuBar( m_menubar );
	
	m_toolBar = this->CreateToolBar( wxTB_HORIZONTAL, wxID_ANY ); 
	m_toolBar->AddTool( wxID_TOOL_REMOVE, wxT("remove"), wxBitmap( wxT("gfx/remove.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("remove current session"), wxEmptyString );
	m_toolBar->AddSeparator();
	m_toolBar->AddTool( wxID_TOOL_CONTINUE, wxT("continue"), wxBitmap( wxT("gfx/continue.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("continue"), wxEmptyString );
	m_toolBar->AddTool( wxID_TOOL_STEP, wxT("step"), wxBitmap( wxT("gfx/step.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("step"), wxEmptyString );
	m_toolBar->AddTool( wxID_TOOL_STEPIN, wxT("stepin"), wxBitmap( wxT("gfx/step_in.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("step in"), wxEmptyString );
	m_toolBar->AddSeparator();
	m_toolBar->AddTool( wxID_TOOL_EVAL, wxT("eval"), wxBitmap( wxT("gfx/eval.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("eval current selection"), wxEmptyString );
	m_toolBar->AddSeparator();
	m_toolBar->AddTool( wxID_TOOL_BREAKPOINT, wxT("breakpoint"), wxBitmap( wxT("gfx/breakpoint.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("toggle breakpoint"), wxEmptyString );
	m_toolBar->Realize();
	
	m_statusBar = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );
	wxGridSizer* gSizer1;
	gSizer1 = new wxGridSizer( 1, 1, 0, 0 );
	
	m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	
	gSizer1->Add( m_notebook, 1, wxEXPAND | wxALL, 5 );
	
	this->SetSizer( gSizer1 );
	this->Layout();
	
	// Connect Events
	this->Connect( m_menuItemExit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameLayout::exit ) );
	this->Connect( wxID_TOOL_REMOVE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolRemove ) );
	this->Connect( wxID_TOOL_CONTINUE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolContinue ) );
	this->Connect( wxID_TOOL_STEP, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolStep ) );
	this->Connect( wxID_TOOL_STEPIN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolStepIn ) );
	this->Connect( wxID_TOOL_EVAL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolEval ) );
	this->Connect( wxID_TOOL_BREAKPOINT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameLayout::toolBreakpoint ) );
	m_notebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( MainFrameLayout::pageChanged ), NULL, this );
}
DIALOG_DESIGN_RULES_BASE::~DIALOG_DESIGN_RULES_BASE()
{
	// Disconnect Events
	m_DRnotebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DIALOG_DESIGN_RULES_BASE::OnNotebookPageChanged ), NULL, this );
	m_grid->Disconnect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameLeftClick ), NULL, this );
	m_grid->Disconnect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameRightClick ), NULL, this );
	m_addButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAddNetclassClick ), NULL, this );
	m_removeButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRemoveNetclassClick ), NULL, this );
	m_moveUpButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnMoveUpSelectedNetClass ), NULL, this );
	m_leftClassChoice->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftCBSelection ), NULL, this );
	m_buttonRightToLeft->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightToLeftCopyButton ), NULL, this );
	m_buttonLeftToRight->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftToRightCopyButton ), NULL, this );
	m_buttonLeftSelAll->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftSelectAllButton ), NULL, this );
	m_buttonRightSelAll->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightSelectAllButton ), NULL, this );
	m_rightClassChoice->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightCBSelection ), NULL, this );
	
}
Пример #13
0
DiscoveryPanelBase::~DiscoveryPanelBase()
{
	// Disconnect Events
	this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DiscoveryPanelBase::OnUpdateUI ) );
	mInitializeButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnInitializeButton ), NULL, this );
	mShutdownButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnShutdownButton ), NULL, this );
	mSubsystemList->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DiscoveryPanelBase::OnSelectSubsystem ), NULL, this );
	mTTL->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DiscoveryPanelBase::OnTLL ), NULL, this );
	mDiscoveryNotebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DiscoveryPanelBase::OnNotebookPageChanged ), NULL, this );
	mSelectComponentChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DiscoveryPanelBase::OnSelectComponentChoice ), NULL, this );
	mAuthorityChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DiscoveryPanelBase::OnAuthorityLevel ), NULL, this );
	mControlButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnTakeControl ), NULL, this );
	mJoystickButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnTakeJoystickControl ), NULL, this );
	mResumeButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnSendResume ), NULL, this );
	mStandbyButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnSendStandby ), NULL, this );
	mSendShutdown->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnSendShutdown ), NULL, this );
	
}
Пример #14
0
//-----------------------------------------------------------------------------
// Public members
//-----------------------------------------------------------------------------
ObjrefDialog::ObjrefDialog(wxWindow* parent)
{
    wxXmlResource::Get()->LoadDialog(this, parent, wxT("objref_dialog"));

    nb = XRCCTRL(*this, "objref_notebook", wxNotebook);
    wxCHECK_RET(nb, "failed to find objref_notebook");

    // Connect different event handlers.
    nb->Connect(wxEVT_NOTEBOOK_PAGE_CHANGED,
                wxNotebookEventHandler(ObjrefDialog::OnNotebookPageChanged),
                NULL, this);

    // We want to direct UpdateUI events for the ID range 'first_row' to
    // OnUpdateUIFirst(). We could achieve this using first_row[0] and
    // first_row[2], but what if a fourth column were added? It's safer to use
    // the 'typedefs' for the two ends of the range:
    wxNotebookPage *page = nb->GetPage(icons_page);
    page->Connect(XRCID("first_row[start]"), XRCID("first_row[end]"),
                  wxEVT_UPDATE_UI,
                  wxUpdateUIEventHandler(ObjrefDialog::OnUpdateUIFirst),
                  NULL, this);
    page->Connect(XRCID("second_row[start]"), XRCID("second_row[end]"),
                  wxEVT_UPDATE_UI,
                  wxUpdateUIEventHandler(ObjrefDialog::OnUpdateUISecond),
                  NULL, this);
    page->Connect(XRCID("third_row[start]"), XRCID("third_row[end]"),
                  wxEVT_UPDATE_UI,
                  wxUpdateUIEventHandler(ObjrefDialog::OnUpdateUIThird),
                  NULL, this);

    // Connect the id ranges, using the [start] and [end] 'typedefs'
    page = nb->GetPage(calc_page);
    page->Connect(XRCID("digits[start]"), XRCID("digits[end]"),
                  wxEVT_BUTTON,
                  wxCommandEventHandler(ObjrefDialog::OnNumeralClick),
                  NULL, this);
    page->Connect(XRCID("operators[start]"), XRCID("operators[end]"),
                  wxEVT_BUTTON,
                  wxCommandEventHandler(ObjrefDialog::OnOperatorClick),
                  NULL, this);

}
Пример #15
0
GUIFrame::~GUIFrame()
{
	// Disconnect Events
	this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIFrame::OnClose ) );
	this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( GUIFrame::GUIFrameOnIdle ) );
	tabs->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( GUIFrame::tabsOnNotebookPageChanged ), NULL, this );
	m_proxy->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GUIFrame::m_proxyOnCheckBox ), NULL, this );
	m_proxyauth->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GUIFrame::m_proxyauthOnCheckBox ), NULL, this );
	m_proxy_autodet->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_proxy_autodetOnButtonClick ), NULL, this );
	m_bytecode->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GUIFrame::m_bytecodeOnCheckBox ), NULL, this );
	m_custom_add->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_custom_addOnButtonClick ), NULL, this );
	m_custom_remove->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_custom_removeOnButtonClick ), NULL, this );
	m_save_settings->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_save_settingsOnButtonClick ), NULL, this );
	m_run_freshclam->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_run_freshclamOnButtonClick ), NULL, this );
	m_local_add->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_local_addOnButtonClick ), NULL, this );
	m_local_remove->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_local_removeOnButtonClick ), NULL, this );
	m_install->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_installOnButtonClick ), NULL, this );
	m_delete->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_deleteOnButtonClick ), NULL, this );
	
}
Пример #16
0
bool
wxGenericMDIClientWindow::CreateGenericClient(wxWindow *parent)
{
    if ( !wxWindow::Create(parent, wxID_ANY) )
        return false;

    m_notebook = new wxNotebook(this, wxID_ANY);
    m_notebook->Connect
                (
                    wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,
                    wxNotebookEventHandler(
                        wxGenericMDIClientWindow::OnPageChanged),
                    NULL,
                    this
                );

    // now that we have a notebook to resize, hook up OnSize() too
    Connect(wxEVT_SIZE, wxSizeEventHandler(wxGenericMDIClientWindow::OnSize));

    return true;
}
DIALOG_DRC_CONTROL_BASE::~DIALOG_DRC_CONTROL_BASE()
{
	// Disconnect Events
	this->Disconnect( wxEVT_ACTIVATE, wxActivateEventHandler( DIALOG_DRC_CONTROL_BASE::OnActivateDlg ) );
	m_CreateRptCtrl->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnReportCheckBoxClicked ), NULL, this );
	m_BrowseButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnButtonBrowseRptFileClick ), NULL, this );
	m_buttonRunDRC->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnStartdrcClick ), NULL, this );
	m_buttonListUnconnected->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnListUnconnectedClick ), NULL, this );
	m_DeleteAllButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteAllClick ), NULL, this );
	m_DeleteCurrentMarkerButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteOneClick ), NULL, this );
	m_Notebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DIALOG_DRC_CONTROL_BASE::OnChangingMarkerList ), NULL, this );
	m_ClearanceListBox->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickClearance ), NULL, this );
	m_ClearanceListBox->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnMarkerSelectionEvent ), NULL, this );
	m_ClearanceListBox->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpClearance ), NULL, this );
	m_UnconnectedListBox->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickUnconnected ), NULL, this );
	m_UnconnectedListBox->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnUnconnectedSelectionEvent ), NULL, this );
	m_UnconnectedListBox->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpUnconnected ), NULL, this );
	m_sdbSizer1Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnCancelClick ), NULL, this );
	m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnOkClick ), NULL, this );
	
}
DIALOG_DRC_CONTROL_BASE::DIALOG_DRC_CONTROL_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	wxBoxSizer* m_MainSizer;
	m_MainSizer = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* m_CommandSizer;
	m_CommandSizer = new wxBoxSizer( wxHORIZONTAL );
	
	wxStaticBoxSizer* sbSizerOptions;
	sbSizerOptions = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Options:") ), wxHORIZONTAL );
	
	wxBoxSizer* bSizer7;
	bSizer7 = new wxBoxSizer( wxVERTICAL );
	
	wxFlexGridSizer* fgMinValuesSizer;
	fgMinValuesSizer = new wxFlexGridSizer( 4, 3, 0, 0 );
	fgMinValuesSizer->AddGrowableCol( 1 );
	fgMinValuesSizer->SetFlexibleDirection( wxHORIZONTAL );
	fgMinValuesSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_ClearanceTitle = new wxStaticText( sbSizerOptions->GetStaticBox(), wxID_ANY, _("Clearance"), wxDefaultPosition, wxDefaultSize, 0 );
	m_ClearanceTitle->Wrap( -1 );
	fgMinValuesSizer->Add( m_ClearanceTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
	
	m_SetClearance = new wxTextCtrl( sbSizerOptions->GetStaticBox(), wxID_ANY, _("By Netclass"), wxDefaultPosition, wxDefaultSize, 0 );
	m_SetClearance->Enable( false );
	
	fgMinValuesSizer->Add( m_SetClearance, 0, wxALL|wxEXPAND, 5 );
	
	
	fgMinValuesSizer->Add( 0, 0, 1, wxEXPAND, 5 );
	
	m_TrackMinWidthTitle = new wxStaticText( sbSizerOptions->GetStaticBox(), wxID_ANY, _("Min track width"), wxDefaultPosition, wxDefaultSize, 0 );
	m_TrackMinWidthTitle->Wrap( -1 );
	m_TrackMinWidthTitle->SetToolTip( _("Enter the minimum acceptable value for a track width") );
	
	fgMinValuesSizer->Add( m_TrackMinWidthTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
	
	m_SetTrackMinWidthCtrl = new wxTextCtrl( sbSizerOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgMinValuesSizer->Add( m_SetTrackMinWidthCtrl, 0, wxALL|wxEXPAND, 5 );
	
	m_TrackMinWidthUnit = new wxStaticText( sbSizerOptions->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
	m_TrackMinWidthUnit->Wrap( -1 );
	m_TrackMinWidthUnit->SetToolTip( _("Enter the minimum acceptable value for a track width") );
	
	fgMinValuesSizer->Add( m_TrackMinWidthUnit, 0, wxALL, 5 );
	
	m_ViaMinTitle = new wxStaticText( sbSizerOptions->GetStaticBox(), wxID_ANY, _("Min via size"), wxDefaultPosition, wxDefaultSize, 0 );
	m_ViaMinTitle->Wrap( -1 );
	m_ViaMinTitle->SetHelpText( _("Enter the minimum acceptable diameter for a standard via") );
	
	fgMinValuesSizer->Add( m_ViaMinTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
	
	m_SetViaMinSizeCtrl = new wxTextCtrl( sbSizerOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgMinValuesSizer->Add( m_SetViaMinSizeCtrl, 0, wxALL|wxEXPAND, 5 );
	
	m_ViaMinUnit = new wxStaticText( sbSizerOptions->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
	m_ViaMinUnit->Wrap( -1 );
	m_ViaMinUnit->SetHelpText( _("Enter the minimum acceptable diameter for a standard via") );
	
	fgMinValuesSizer->Add( m_ViaMinUnit, 0, wxALL, 5 );
	
	m_MicroViaMinTitle = new wxStaticText( sbSizerOptions->GetStaticBox(), wxID_ANY, _("Min uVia size"), wxDefaultPosition, wxDefaultSize, 0 );
	m_MicroViaMinTitle->Wrap( -1 );
	m_MicroViaMinTitle->SetToolTip( _("Enter the minimum acceptable diameter for a micro via") );
	
	fgMinValuesSizer->Add( m_MicroViaMinTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
	
	m_SetMicroViakMinSizeCtrl = new wxTextCtrl( sbSizerOptions->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgMinValuesSizer->Add( m_SetMicroViakMinSizeCtrl, 0, wxALL|wxEXPAND, 5 );
	
	m_MicroViaMinUnit = new wxStaticText( sbSizerOptions->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
	m_MicroViaMinUnit->Wrap( -1 );
	m_MicroViaMinUnit->SetToolTip( _("Enter the minimum acceptable diameter for a micro via") );
	
	fgMinValuesSizer->Add( m_MicroViaMinUnit, 0, wxALL, 5 );
	
	
	bSizer7->Add( fgMinValuesSizer, 1, wxEXPAND, 5 );
	
	wxStaticBoxSizer* ReportFileSizer;
	ReportFileSizer = new wxStaticBoxSizer( new wxStaticBox( sbSizerOptions->GetStaticBox(), wxID_ANY, _("Create Report File") ), wxHORIZONTAL );
	
	m_CreateRptCtrl = new wxCheckBox( ReportFileSizer->GetStaticBox(), ID_CHECKBOX_RPT_FILE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_CreateRptCtrl->SetToolTip( _("Enable writing report to this file") );
	
	ReportFileSizer->Add( m_CreateRptCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_RptFilenameCtrl = new wxTextCtrl( ReportFileSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_RptFilenameCtrl->SetToolTip( _("Enter the report filename") );
	m_RptFilenameCtrl->SetMinSize( wxSize( 180,-1 ) );
	
	ReportFileSizer->Add( m_RptFilenameCtrl, 1, wxALL|wxEXPAND, 5 );
	
	m_BrowseButton = new wxButton( ReportFileSizer->GetStaticBox(), ID_BUTTON_BROWSE_RPT_FILE, _("..."), wxDefaultPosition, wxSize( 50,-1 ), 0 );
	ReportFileSizer->Add( m_BrowseButton, 0, wxALIGN_CENTER_VERTICAL, 5 );
	
	
	bSizer7->Add( ReportFileSizer, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
	
	
	sbSizerOptions->Add( bSizer7, 1, wxEXPAND, 5 );
	
	
	m_CommandSizer->Add( sbSizerOptions, 1, 0, 5 );
	
	wxBoxSizer* bSizerMessages;
	bSizerMessages = new wxBoxSizer( wxVERTICAL );
	
	m_staticText6 = new wxStaticText( this, wxID_ANY, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText6->Wrap( -1 );
	bSizerMessages->Add( m_staticText6, 0, wxRIGHT|wxLEFT, 5 );
	
	m_Messages = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxTE_MULTILINE|wxTE_READONLY );
	m_Messages->SetMinSize( wxSize( 220,-1 ) );
	
	bSizerMessages->Add( m_Messages, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
	
	
	m_CommandSizer->Add( bSizerMessages, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer11;
	bSizer11 = new wxBoxSizer( wxVERTICAL );
	
	m_buttonRunDRC = new wxButton( this, ID_STARTDRC, _("Start DRC"), wxDefaultPosition, wxDefaultSize, 0 );
	m_buttonRunDRC->SetDefault(); 
	m_buttonRunDRC->SetToolTip( _("Start the Design Rule Checker") );
	
	bSizer11->Add( m_buttonRunDRC, 0, wxALL|wxEXPAND, 5 );
	
	m_buttonListUnconnected = new wxButton( this, ID_LIST_UNCONNECTED, _("List Unconnected"), wxDefaultPosition, wxDefaultSize, 0 );
	m_buttonListUnconnected->SetToolTip( _("List unconnected pads or tracks") );
	
	bSizer11->Add( m_buttonListUnconnected, 0, wxALL|wxEXPAND, 5 );
	
	m_DeleteAllButton = new wxButton( this, ID_DELETE_ALL, _("Delete All Markers"), wxDefaultPosition, wxDefaultSize, 0 );
	m_DeleteAllButton->SetToolTip( _("Delete every marker") );
	
	bSizer11->Add( m_DeleteAllButton, 0, wxALL|wxEXPAND, 5 );
	
	m_DeleteCurrentMarkerButton = new wxButton( this, wxID_ANY, _("Delete Current Marker"), wxDefaultPosition, wxDefaultSize, 0 );
	m_DeleteCurrentMarkerButton->SetToolTip( _("Delete the marker selected in the list box below") );
	
	bSizer11->Add( m_DeleteCurrentMarkerButton, 0, wxEXPAND|wxALL, 5 );
	
	
	m_CommandSizer->Add( bSizer11, 0, wxALIGN_CENTER_VERTICAL, 5 );
	
	
	m_MainSizer->Add( m_CommandSizer, 0, wxALL|wxEXPAND, 5 );
	
	m_staticTextErrMsg = new wxStaticText( this, wxID_ANY, _("Error Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextErrMsg->Wrap( -1 );
	m_MainSizer->Add( m_staticTextErrMsg, 0, wxALL, 5 );
	
	m_Notebook = new wxNotebook( this, ID_NOTEBOOK1, wxDefaultPosition, wxDefaultSize, 0 );
	m_panelClearanceListBox = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizeClearanceBox;
	bSizeClearanceBox = new wxBoxSizer( wxVERTICAL );
	
	m_ClearanceListBox = new DRCLISTBOX( m_panelClearanceListBox, ID_CLEARANCE_LIST, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); 
	m_ClearanceListBox->SetToolTip( _("MARKERs, double click any to go there in PCB, right click for popup menu") );
	m_ClearanceListBox->SetMinSize( wxSize( -1,80 ) );
	
	bSizeClearanceBox->Add( m_ClearanceListBox, 1, wxALL|wxEXPAND, 5 );
	
	
	m_panelClearanceListBox->SetSizer( bSizeClearanceBox );
	m_panelClearanceListBox->Layout();
	bSizeClearanceBox->Fit( m_panelClearanceListBox );
	m_Notebook->AddPage( m_panelClearanceListBox, _("Problems / Markers"), true );
	m_panelUnconnectedBox = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizerUnconnectedBox;
	bSizerUnconnectedBox = new wxBoxSizer( wxVERTICAL );
	
	m_UnconnectedListBox = new DRCLISTBOX( m_panelUnconnectedBox, ID_UNCONNECTED_LIST, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); 
	m_UnconnectedListBox->SetToolTip( _("A list of unconnected pads, right click for popup menu") );
	
	bSizerUnconnectedBox->Add( m_UnconnectedListBox, 1, wxALL|wxEXPAND, 5 );
	
	
	m_panelUnconnectedBox->SetSizer( bSizerUnconnectedBox );
	m_panelUnconnectedBox->Layout();
	bSizerUnconnectedBox->Fit( m_panelUnconnectedBox );
	m_Notebook->AddPage( m_panelUnconnectedBox, _("Unconnected"), false );
	
	m_MainSizer->Add( m_Notebook, 1, wxEXPAND | wxALL, 5 );
	
	m_sdbSizer1 = new wxStdDialogButtonSizer();
	m_sdbSizer1OK = new wxButton( this, wxID_OK );
	m_sdbSizer1->AddButton( m_sdbSizer1OK );
	m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
	m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
	m_sdbSizer1->Realize();
	
	m_MainSizer->Add( m_sdbSizer1, 0, wxALL|wxEXPAND, 5 );
	
	
	this->SetSizer( m_MainSizer );
	this->Layout();
	
	// Connect Events
	this->Connect( wxEVT_ACTIVATE, wxActivateEventHandler( DIALOG_DRC_CONTROL_BASE::OnActivateDlg ) );
	m_CreateRptCtrl->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnReportCheckBoxClicked ), NULL, this );
	m_BrowseButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnButtonBrowseRptFileClick ), NULL, this );
	m_buttonRunDRC->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnStartdrcClick ), NULL, this );
	m_buttonListUnconnected->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnListUnconnectedClick ), NULL, this );
	m_DeleteAllButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteAllClick ), NULL, this );
	m_DeleteCurrentMarkerButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteOneClick ), NULL, this );
	m_Notebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DIALOG_DRC_CONTROL_BASE::OnChangingMarkerList ), NULL, this );
	m_ClearanceListBox->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickClearance ), NULL, this );
	m_ClearanceListBox->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnMarkerSelectionEvent ), NULL, this );
	m_ClearanceListBox->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpClearance ), NULL, this );
	m_UnconnectedListBox->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickUnconnected ), NULL, this );
	m_UnconnectedListBox->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnUnconnectedSelectionEvent ), NULL, this );
	m_UnconnectedListBox->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpUnconnected ), NULL, this );
	m_sdbSizer1Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnCancelClick ), NULL, this );
	m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnOkClick ), NULL, this );
}
Пример #19
0
MemCheckOutputViewBase::MemCheckOutputViewBase(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);
        wxCrafterpca4kKInitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxBoxSizer* boxSizer221 = new wxBoxSizer(wxHORIZONTAL);
    this->SetSizer(boxSizer221);
    
    m_auibar223 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxAUI_TB_PLAIN_BACKGROUND|wxAUI_TB_DEFAULT_STYLE|wxAUI_TB_VERTICAL);
    m_auibar223->SetToolBitmapSize(wxSize(16,16));
    
    boxSizer221->Add(m_auibar223, 0, wxALL|wxEXPAND, 0);
    
    m_auibar223->AddTool(XRCID("memcheck_check_active_project"), _("Run check"), wxXmlResource::Get()->LoadBitmap(wxT("check")), wxNullBitmap, wxITEM_NORMAL, _("Run check"), wxT(""), NULL);
    
    m_auibar223->AddTool(XRCID("memcheck_import"), _("Load MemCheck log from file."), wxXmlResource::Get()->LoadBitmap(wxT("document_import")), wxNullBitmap, wxITEM_NORMAL, _("Load MemCheck log from file."), wxT(""), NULL);
    
    m_auibar223->AddTool(ID_TOOL_STOP_PROCESS, _("Stop Process"), wxXmlResource::Get()->LoadBitmap(wxT("stop")), wxNullBitmap, wxITEM_NORMAL, _("Stop Process"), _("Stop Process"), NULL);
    
    m_auibar223->AddSeparator();
    
    m_auibar223->AddTool(XRCID("memcheck_expand_all"), _("Expand all"), wxXmlResource::Get()->LoadBitmap(wxT("expand")), wxNullBitmap, wxITEM_NORMAL, _("Expand all"), wxT(""), NULL);
    
    m_auibar223->AddTool(XRCID("memcheck_next"), _("Jump to next error"), wxXmlResource::Get()->LoadBitmap(wxT("arrow_down")), wxNullBitmap, wxITEM_NORMAL, _("Jump to next error"), wxT(""), NULL);
    
    m_auibar223->AddTool(XRCID("memcheck_prev"), _("Jump to previous error"), wxXmlResource::Get()->LoadBitmap(wxT("arrow_up")), wxNullBitmap, wxITEM_NORMAL, _("Jump to previous error"), wxT(""), NULL);
    
    m_auibar223->AddSeparator();
    
    m_auibar223->AddTool(XRCID("memcheck_settings"), _("Settings"), wxXmlResource::Get()->LoadBitmap(wxT("setting_tools")), wxNullBitmap, wxITEM_NORMAL, _("Settings"), wxT(""), NULL);
    
    m_auibar223->AddSeparator();
    
    m_auibar223->AddTool(XRCID("memcheck_open_plain"), _("Open plain output in editor window."), wxXmlResource::Get()->LoadBitmap(wxT("plain")), wxNullBitmap, wxITEM_NORMAL, _("Open plain output in editor window."), wxT(""), NULL);
    m_auibar223->Realize();
    
    m_notebookOutputView = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), 0);
    wxImageList* m_notebookOutputView_il = new wxImageList(16, 16);
    m_notebookOutputView->AssignImageList(m_notebookOutputView_il);
    
    boxSizer221->Add(m_notebookOutputView, 1, wxALL|wxEXPAND, 2);
    
    m_panelErrors = new wxPanel(m_notebookOutputView, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    int m_panelErrorsImgIndex;
    m_panelErrorsImgIndex = m_notebookOutputView_il->Add(wxXmlResource::Get()->LoadBitmap(wxT("node-tree")));
    m_notebookOutputView->AddPage(m_panelErrors, _("Errors"), true, m_panelErrorsImgIndex);
    
    wxBoxSizer* boxSizer534 = new wxBoxSizer(wxHORIZONTAL);
    m_panelErrors->SetSizer(boxSizer534);
    
    m_dataViewCtrlErrors = new wxDataViewCtrl(m_panelErrors, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBORDER_THEME);
    
    m_dataViewCtrlErrorsModel = new MemCheckDVCErrorsModel;
    m_dataViewCtrlErrorsModel->SetColCount( 6 );
    m_dataViewCtrlErrors->AssociateModel(m_dataViewCtrlErrorsModel.get() );
    
    boxSizer534->Add(m_dataViewCtrlErrors, 1, wxALL|wxEXPAND, 0);
    
    m_dataViewCtrlErrors->AppendBitmapColumn(_("Current"), m_dataViewCtrlErrors->GetColumnCount(), wxDATAVIEW_CELL_INERT, -2, wxALIGN_CENTER);
    m_dataViewCtrlErrors->AppendToggleColumn(_("Suppress"), m_dataViewCtrlErrors->GetColumnCount(), wxDATAVIEW_CELL_ACTIVATABLE, -2, wxALIGN_CENTER);
    m_dataViewCtrlErrors->AppendIconTextColumn(_("Label"), m_dataViewCtrlErrors->GetColumnCount(), wxDATAVIEW_CELL_INERT, -2, wxALIGN_LEFT);
    m_dataViewCtrlErrors->AppendTextColumn(_("File"), m_dataViewCtrlErrors->GetColumnCount(), wxDATAVIEW_CELL_INERT, -2, wxALIGN_LEFT);
    m_dataViewCtrlErrors->AppendTextColumn(_("Line"), m_dataViewCtrlErrors->GetColumnCount(), wxDATAVIEW_CELL_INERT, -2, wxALIGN_LEFT);
    m_dataViewCtrlErrors->AppendTextColumn(_("Object"), m_dataViewCtrlErrors->GetColumnCount(), wxDATAVIEW_CELL_INERT, -2, wxALIGN_LEFT);
    wxBoxSizer* boxSizer610 = new wxBoxSizer(wxVERTICAL);
    
    boxSizer534->Add(boxSizer610, 0, wxALL|wxALIGN_CENTER_VERTICAL, 0);
    
    m_bmpButtonPageFirst = new wxBitmapButton(m_panelErrors, XRCID("memcheck_page_first"), wxXmlResource::Get()->LoadBitmap(wxT("page_first")), wxDefaultPosition, wxSize(-1,-1), wxBU_AUTODRAW);
    m_bmpButtonPageFirst->SetToolTip(_("First result page."));
    
    boxSizer610->Add(m_bmpButtonPageFirst, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_bmpButtonPagePrev = new wxBitmapButton(m_panelErrors, XRCID("memcheck_page_prev"), wxXmlResource::Get()->LoadBitmap(wxT("page_previous")), wxDefaultPosition, wxSize(-1,-1), wxBU_AUTODRAW);
    
    boxSizer610->Add(m_bmpButtonPagePrev, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_textCtrlPageNumber = new wxTextCtrl(m_panelErrors, XRCID("memcheck_page_number"), wxT(""), wxDefaultPosition, wxSize(30,-1), wxTE_PROCESS_ENTER|wxTE_CENTRE);
    #if wxVERSION_NUMBER >= 3000
    m_textCtrlPageNumber->SetHint(wxT(""));
    #endif
    
    boxSizer610->Add(m_textCtrlPageNumber, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_staticText622 = new wxStaticText(m_panelErrors, wxID_ANY, _("of"), wxDefaultPosition, wxSize(-1,-1), 0);
    
    boxSizer610->Add(m_staticText622, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_staticTextPageMax = new wxStaticText(m_panelErrors, wxID_ANY, _("0"), wxDefaultPosition, wxSize(-1,-1), 0);
    
    boxSizer610->Add(m_staticTextPageMax, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_bmpButtonPageNext = new wxBitmapButton(m_panelErrors, XRCID("memcheck_page_next"), wxXmlResource::Get()->LoadBitmap(wxT("page_next")), wxDefaultPosition, wxSize(-1,-1), wxBU_AUTODRAW);
    
    boxSizer610->Add(m_bmpButtonPageNext, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_bmpButtonPageLast = new wxBitmapButton(m_panelErrors, XRCID("memcheck_page_last"), wxXmlResource::Get()->LoadBitmap(wxT("page_last")), wxDefaultPosition, wxSize(-1,-1), wxBU_AUTODRAW);
    
    boxSizer610->Add(m_bmpButtonPageLast, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_panelSupp = new wxPanel(m_notebookOutputView, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    int m_panelSuppImgIndex;
    m_panelSuppImgIndex = m_notebookOutputView_il->Add(wxXmlResource::Get()->LoadBitmap(wxT("list")));
    m_notebookOutputView->AddPage(m_panelSupp, _(".supp"), false, m_panelSuppImgIndex);
    
    wxBoxSizer* boxSizer536 = new wxBoxSizer(wxHORIZONTAL);
    m_panelSupp->SetSizer(boxSizer536);
    
    m_splitter542 = new wxSplitterWindow(m_panelSupp, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxSP_LIVE_UPDATE|wxSP_NO_XP_THEME|wxSP_3DSASH);
    m_splitter542->SetSashGravity(0.5);
    m_splitter542->SetMinimumPaneSize(50);
    
    boxSizer536->Add(m_splitter542, 1, wxALL|wxEXPAND, 0);
    
    m_splitterPageFilter = new wxPanel(m_splitter542, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    
    wxBoxSizer* boxSizer548 = new wxBoxSizer(wxVERTICAL);
    m_splitterPageFilter->SetSizer(boxSizer548);
    
    wxBoxSizer* boxSizer655 = new wxBoxSizer(wxHORIZONTAL);
    
    boxSizer548->Add(boxSizer655, 0, wxLEFT|wxRIGHT|wxTOP|wxEXPAND, 5);
    
    m_staticText657 = new wxStaticText(m_splitterPageFilter, wxID_ANY, _(".supp:"), wxDefaultPosition, wxSize(-1,-1), 0);
    
    boxSizer655->Add(m_staticText657, 0, wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5);
    
    wxArrayString m_choiceSuppFileArr;
    m_choiceSuppFile = new wxChoice(m_splitterPageFilter, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), m_choiceSuppFileArr, 0);
    m_choiceSuppFile->SetToolTip(_("Choose suppression file to use."));
    
    boxSizer655->Add(m_choiceSuppFile, 1, wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_VERTICAL, 0);
    
    m_buttonSuppOpen = new wxButton(m_splitterPageFilter, XRCID("memcheck_supp_open"), _("Open"), wxDefaultPosition, wxSize(-1,-1), 0);
    
    boxSizer655->Add(m_buttonSuppOpen, 0, wxALIGN_CENTER_VERTICAL, 5);
    
    wxBoxSizer* boxSizer485 = new wxBoxSizer(wxHORIZONTAL);
    
    boxSizer548->Add(boxSizer485, 0, wxALL|wxEXPAND, 0);
    
    m_searchCtrlFilter = new wxSearchCtrl(m_splitterPageFilter, XRCID("memcheck_filter_supp"), wxT(""), wxDefaultPosition, wxSize(-1,-1), wxTE_PROCESS_ENTER);
    m_searchCtrlFilter->ShowSearchButton(true);
    m_searchCtrlFilter->ShowCancelButton(false);
    
    boxSizer485->Add(m_searchCtrlFilter, 1, wxLEFT|wxRIGHT|wxTOP|wxEXPAND, 5);
    
    m_buttonClearFilter = new wxBitmapButton(m_splitterPageFilter, XRCID("memcheck_clear_filter"), wxXmlResource::Get()->LoadBitmap(wxT("broom")), wxDefaultPosition, wxSize(-1,-1), wxBU_AUTODRAW);
    m_buttonClearFilter->SetToolTip(_("Clear filter"));
    
    boxSizer485->Add(m_buttonClearFilter, 0, wxRIGHT|wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    
    wxBoxSizer* boxSizer489 = new wxBoxSizer(wxHORIZONTAL);
    
    boxSizer548->Add(boxSizer489, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 0);
    
    m_checkBoxInvert = new wxCheckBox(m_splitterPageFilter, wxID_ANY, _("Invert"), wxDefaultPosition, wxSize(-1,-1), 0);
    m_checkBoxInvert->SetValue(false);
    
    boxSizer489->Add(m_checkBoxInvert, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
    
    m_checkBoxCase = new wxCheckBox(m_splitterPageFilter, wxID_ANY, _("Case"), wxDefaultPosition, wxSize(-1,-1), 0);
    m_checkBoxCase->SetValue(false);
    
    boxSizer489->Add(m_checkBoxCase, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
    
    m_checkBoxWord = new wxCheckBox(m_splitterPageFilter, wxID_ANY, _("Word"), wxDefaultPosition, wxSize(-1,-1), 0);
    m_checkBoxWord->SetValue(false);
    
    boxSizer489->Add(m_checkBoxWord, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
    
    m_checkBoxRegexp = new wxCheckBox(m_splitterPageFilter, wxID_ANY, _("RegExp"), wxDefaultPosition, wxSize(-1,-1), 0);
    m_checkBoxRegexp->SetValue(false);
    
    boxSizer489->Add(m_checkBoxRegexp, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
    
    boxSizer548->Add(0, 0, 1, wxALL, 5);
    
    m_staticTextSuppStatus = new wxStaticText(m_splitterPageFilter, wxID_ANY, _("Total: 0  Filtered: 0  Selected: 0"), wxDefaultPosition, wxSize(-1,-1), 0);
    
    boxSizer548->Add(m_staticTextSuppStatus, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5);
    
    m_splitterPageList = new wxPanel(m_splitter542, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
    m_splitter542->SplitVertically(m_splitterPageFilter, m_splitterPageList, 0);
    
    wxBoxSizer* boxSizer554 = new wxBoxSizer(wxVERTICAL);
    m_splitterPageList->SetSizer(boxSizer554);
    
    wxBoxSizer* boxSizer678 = new wxBoxSizer(wxHORIZONTAL);
    
    boxSizer554->Add(boxSizer678, 1, wxALL|wxEXPAND, 0);
    
    m_listCtrlErrors = new MemCheckListCtrlErrors(m_splitterPageList, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxLC_NO_HEADER|wxLC_VIRTUAL|wxLC_REPORT);
    
    boxSizer678->Add(m_listCtrlErrors, 1, wxALL|wxEXPAND, 5);
    
    m_listCtrlErrors->InsertColumn(m_listCtrlErrors->GetColumnCount(), _("Label"), wxLIST_FORMAT_LEFT, -1);
    wxBoxSizer* boxSizer680 = new wxBoxSizer(wxVERTICAL);
    
    boxSizer678->Add(boxSizer680, 0, wxALL, 5);
    
    m_buttonSuppressAll = new wxButton(m_splitterPageList, XRCID("memcheck_suppress_all"), _("Suppress all"), wxDefaultPosition, wxSize(-1,-1), 0);
    
    boxSizer680->Add(m_buttonSuppressAll, 0, wxBOTTOM|wxEXPAND|wxALIGN_RIGHT, 5);
    
    m_buttonSuppressSelected = new wxButton(m_splitterPageList, XRCID("memcheck_suppress_selected"), _("Suppress selected"), wxDefaultPosition, wxSize(-1,-1), 0);
    
    boxSizer680->Add(m_buttonSuppressSelected, 0, wxBOTTOM|wxEXPAND|wxALIGN_RIGHT, 5);
    
    SetSizeHints(-1,-1);
    if ( GetSizer() ) {
         GetSizer()->Fit(this);
    }
    Centre(wxBOTH);
    // Connect events
    this->Connect(ID_TOOL_STOP_PROCESS, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnStop), NULL, this);
    this->Connect(ID_TOOL_STOP_PROCESS, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnStopUI), NULL, this);
    this->Connect(XRCID("memcheck_expand_all"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnExpandAll), NULL, this);
    this->Connect(XRCID("memcheck_expand_all"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnMemCheckUI), NULL, this);
    this->Connect(XRCID("memcheck_next"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnJumpToNext), NULL, this);
    this->Connect(XRCID("memcheck_next"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnMemCheckUI), NULL, this);
    this->Connect(XRCID("memcheck_prev"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnJumpToPrev), NULL, this);
    this->Connect(XRCID("memcheck_prev"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnMemCheckUI), NULL, this);
    this->Connect(XRCID("memcheck_open_plain"), wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnMemCheckUI), NULL, this);
    this->Connect(XRCID("memcheck_open_plain"), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnOpenPlain), NULL, this);
    m_notebookOutputView->Connect(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler(MemCheckOutputViewBase::OutputViewPageChanged), NULL, this);
    m_dataViewCtrlErrors->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(MemCheckOutputViewBase::OnActivated), NULL, this);
    m_dataViewCtrlErrors->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, wxDataViewEventHandler(MemCheckOutputViewBase::OnValueChanged), NULL, this);
    m_dataViewCtrlErrors->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler(MemCheckOutputViewBase::OnContextMenu), NULL, this);
    m_dataViewCtrlErrors->Connect(wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler(MemCheckOutputViewBase::OnSelectionChanged), NULL, this);
    m_bmpButtonPageFirst->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnPageFirst), NULL, this);
    m_bmpButtonPageFirst->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnErrorsPanelUI), NULL, this);
    m_bmpButtonPagePrev->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnPagePrev), NULL, this);
    m_bmpButtonPagePrev->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnErrorsPanelUI), NULL, this);
    m_textCtrlPageNumber->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnErrorsPanelUI), NULL, this);
    m_textCtrlPageNumber->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(MemCheckOutputViewBase::OnPageSelect), NULL, this);
    m_bmpButtonPageNext->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnPageNext), NULL, this);
    m_bmpButtonPageNext->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnErrorsPanelUI), NULL, this);
    m_bmpButtonPageLast->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnPageLast), NULL, this);
    m_bmpButtonPageLast->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnErrorsPanelUI), NULL, this);
    m_choiceSuppFile->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(MemCheckOutputViewBase::OnSuppFileSelected), NULL, this);
    m_choiceSuppFile->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    m_buttonSuppOpen->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnSuppFileOpen), NULL, this);
    m_buttonSuppOpen->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    m_searchCtrlFilter->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(MemCheckOutputViewBase::OnFilterErrors), NULL, this);
    m_searchCtrlFilter->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    m_buttonClearFilter->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnClearFilter), NULL, this);
    m_buttonClearFilter->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    m_listCtrlErrors->Connect(wxEVT_SIZE, wxSizeEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsResize), NULL, this);
    m_listCtrlErrors->Connect(wxEVT_MOTION, wxMouseEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsMouseMotion), NULL, this);
    m_listCtrlErrors->Connect(wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsActivated), NULL, this);
    m_listCtrlErrors->Connect(wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsSelected), NULL, this);
    m_listCtrlErrors->Connect(wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsDeselected), NULL, this);
    m_listCtrlErrors->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsKeyDown), NULL, this);
    m_listCtrlErrors->Connect(wxEVT_KEY_UP, wxKeyEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsKeyUp), NULL, this);
    m_listCtrlErrors->Connect(wxEVT_CHAR, wxKeyEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsChar), NULL, this);
    m_listCtrlErrors->Connect(wxEVT_LEFT_DOWN, wxMouseEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsLeftDown), NULL, this);
    m_listCtrlErrors->Connect(wxEVT_LEFT_UP, wxMouseEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsLeftUp), NULL, this);
    m_listCtrlErrors->Connect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(MemCheckOutputViewBase::OnListCtrlErrorsMouseLeave), NULL, this);
    m_buttonSuppressAll->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnSuppressAll), NULL, this);
    m_buttonSuppressAll->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    m_buttonSuppressSelected->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MemCheckOutputViewBase::OnSuppressSelected), NULL, this);
    m_buttonSuppressSelected->Connect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MemCheckOutputViewBase::OnSuppPanelUI), NULL, this);
    
}
Пример #20
0
ModPlaygroundMainPanelBase::ModPlaygroundMainPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
	mainSizer = new wxBoxSizer( wxVERTICAL );
	
	mainHeadlineLabel = new wxStaticText( this, wxID_ANY, _("PG - Playground"), wxDefaultPosition, wxDefaultSize, 0 );
	mainHeadlineLabel->Wrap( -1 );
	mainHeadlineLabel->SetFont( wxFont( 16, 70, 90, 90, false, wxEmptyString ) );
	
	mainSizer->Add( mainHeadlineLabel, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	pgNotebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	pgPage = new wxPanel( pgNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* pgPageSizer;
	pgPageSizer = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* startSizer;
	startSizer = new wxStaticBoxSizer( new wxStaticBox( pgPage, -1, _("New Playground") ), wxVERTICAL );
	
	applicationLabel = new wxStaticText( pgPage, wxID_ANY, _("Application:"), wxDefaultPosition, wxDefaultSize, 0 );
	applicationLabel->Wrap( -1 );
	startSizer->Add( applicationLabel, 0, wxALL, 5 );
	
	applicationComboBox = new wxComboBox( pgPage, PG_APP_COMBOBOX, wxEmptyString, wxDefaultPosition, wxSize( 350,-1 ), 0, NULL, wxTE_PROCESS_ENTER ); 
	startSizer->Add( applicationComboBox, 0, wxALL, 5 );
	
	xwrapperCheckbox = new wxCheckBox( pgPage, PG_XWRAPPER_CHECKBOX, _("Start program in an isolated X session"), wxDefaultPosition, wxDefaultSize, 0 );
	xwrapperCheckbox->SetValue(true);
	
	xwrapperCheckbox->SetToolTip( _("If checked the program is started in an isolated X session disconnecting it from other DBUS sessions and the main X display. This box should normally be checked. Uncheck it only if your program is not an X11 client or if you really want to run an X window program in insecure mode.") );
	
	startSizer->Add( xwrapperCheckbox, 0, wxALL, 5 );
	
	applicationStartButton = new wxButton( pgPage, PG_APP_STARTBUTTON, _("Start Playground"), wxDefaultPosition, wxDefaultSize, 0 );
	applicationStartButton->Enable( false );
	
	startSizer->Add( applicationStartButton, 0, wxALL, 5 );
	
	pgPageSizer->Add( startSizer, 0, wxALL|wxEXPAND, 5 );
	
	wxStaticBoxSizer* pgOverviewListSizer;
	pgOverviewListSizer = new wxStaticBoxSizer( new wxStaticBox( pgPage, -1, _("Playground Overview:") ), wxVERTICAL );
	
	pgList = new AnListCtrl( pgPage, PG_VIEW_LIST, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_SINGLE_SEL|wxLC_VIRTUAL );
	pgOverviewListSizer->Add( pgList, 1, wxALL|wxEXPAND, 5 );
	
	wxBoxSizer* pgButtonSizer;
	pgButtonSizer = new wxBoxSizer( wxHORIZONTAL );
	
	pgRefreshButton = new wxButton( pgPage, PG_VIEW_REFRESHBUTTON, _("Refresh View"), wxDefaultPosition, wxDefaultSize, 0 );
	pgRefreshButton->Enable( false );
	
	pgButtonSizer->Add( pgRefreshButton, 0, wxALIGN_LEFT|wxALIGN_TOP|wxALL, 5 );
	
	
	pgButtonSizer->Add( 0, 0, 1, wxEXPAND, 5 );
	
	pgCommitButton = new wxButton( pgPage, PG_VIEW_COMMITBUTTON, _("Commit Files..."), wxDefaultPosition, wxDefaultSize, 0 );
	pgCommitButton->Enable( false );
	
	pgButtonSizer->Add( pgCommitButton, 0, wxALL, 5 );
	
	pgDeleteButton = new wxButton( pgPage, wxID_ANY, _("Delete"), wxDefaultPosition, wxDefaultSize, 0 );
	pgDeleteButton->Enable( false );
	
	pgButtonSizer->Add( pgDeleteButton, 0, wxALIGN_BOTTOM|wxALIGN_RIGHT|wxALL, 5 );
	
	pgOverviewListSizer->Add( pgButtonSizer, 0, wxALIGN_BOTTOM|wxALIGN_RIGHT|wxEXPAND, 5 );
	
	pgPageSizer->Add( pgOverviewListSizer, 1, wxALL|wxEXPAND, 5 );
	
	pgPage->SetSizer( pgPageSizer );
	pgPage->Layout();
	pgPageSizer->Fit( pgPage );
	pgNotebook->AddPage( pgPage, _("Playground"), false );
	
	mainSizer->Add( pgNotebook, 1, wxEXPAND | wxALL, 5 );
	
	this->SetSizer( mainSizer );
	this->Layout();
	
	// Connect Events
	pgNotebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, wxNotebookEventHandler( ModPlaygroundMainPanelBase::onPgNotebookChanging ), NULL, this );
	applicationComboBox->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ModPlaygroundMainPanelBase::onAppPathEntered ), NULL, this );
	applicationComboBox->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( ModPlaygroundMainPanelBase::onAppStartEnter ), NULL, this );
	applicationStartButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ModPlaygroundMainPanelBase::onAppStart ), NULL, this );
	pgList->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( ModPlaygroundMainPanelBase::onPgListItemActivate ), NULL, this );
	pgList->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( ModPlaygroundMainPanelBase::onPgListItemDeselect ), NULL, this );
	pgList->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( ModPlaygroundMainPanelBase::onPgListItemSelect ), NULL, this );
	pgRefreshButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ModPlaygroundMainPanelBase::onPgListRefreshClicked ), NULL, this );
	pgCommitButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ModPlaygroundMainPanelBase::onCommitFiles ), NULL, this );
	pgDeleteButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ModPlaygroundMainPanelBase::onDeleteFiles ), NULL, this );
}
Пример #21
0
MyDialog5::MyDialog5( 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* bSizer40;
	bSizer40 = new wxBoxSizer( wxVERTICAL );
	
	m_panel14 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer35;
	bSizer35 = new wxBoxSizer( wxVERTICAL );
	
	m_wxNotebook234 = new wxNotebook( m_panel14, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	m_panel11 = new wxPanel( m_wxNotebook234, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer402;
	bSizer402 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer7;
	sbSizer7 = new wxStaticBoxSizer( new wxStaticBox( m_panel11, wxID_ANY, _("DD.dddddd\u00b0 (no limit to decimals)") ), wxVERTICAL );
	
	wxBoxSizer* bSizer1321;
	bSizer1321 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer1431;
	bSizer1431 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText3231 = new wxStaticText( m_panel11, wxID_ANY, _("Lattitude  "), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3231->Wrap( -1 );
	bSizer1431->Add( m_staticText3231, 1, wxALL|wxEXPAND, 5 );
	
	m_Lat1 = new wxTextCtrl( m_panel11, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_Lat1->SetMaxLength( 0 ); 
	bSizer1431->Add( m_Lat1, 3, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
	
	m_staticText3331 = new wxStaticText( m_panel11, wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3331->Wrap( -1 );
	bSizer1431->Add( m_staticText3331, 0, wxTOP|wxBOTTOM|wxLEFT, 5 );
	
	
	bSizer1321->Add( bSizer1431, 0, 0, 5 );
	
	wxBoxSizer* bSizer14311;
	bSizer14311 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText32311 = new wxStaticText( m_panel11, wxID_ANY, _("Longitude"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText32311->Wrap( -1 );
	bSizer14311->Add( m_staticText32311, 1, wxALL|wxEXPAND, 5 );
	
	m_Lon1 = new wxTextCtrl( m_panel11, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_Lon1->SetMaxLength( 0 ); 
	bSizer14311->Add( m_Lon1, 3, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
	
	m_staticText33311 = new wxStaticText( m_panel11, wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText33311->Wrap( -1 );
	bSizer14311->Add( m_staticText33311, 0, wxTOP|wxBOTTOM|wxLEFT, 5 );
	
	
	bSizer1321->Add( bSizer14311, 0, 0, 5 );
	
	
	sbSizer7->Add( bSizer1321, 0, wxEXPAND, 5 );
	
	
	bSizer402->Add( sbSizer7, 0, wxEXPAND, 5 );
	
	m_button4 = new wxButton( m_panel11, wxID_ANY, _("Convert"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer402->Add( m_button4, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	m_panel11->SetSizer( bSizer402 );
	m_panel11->Layout();
	bSizer402->Fit( m_panel11 );
	m_wxNotebook234->AddPage( m_panel11, _("Degrees"), false );
	m_panel151 = new wxPanel( m_wxNotebook234, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer4011;
	bSizer4011 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer721;
	sbSizer721 = new wxStaticBoxSizer( new wxStaticBox( m_panel151, wxID_ANY, _("DD.dddddd\u00b0 (no limit to decimals)") ), wxVERTICAL );
	
	wxBoxSizer* bSizer132121;
	bSizer132121 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer143131;
	bSizer143131 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText323131 = new wxStaticText( m_panel151, wxID_ANY, _("Lat "), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText323131->Wrap( -1 );
	bSizer143131->Add( m_staticText323131, 0, wxALL, 5 );
	
	m_Lat1_d1 = new wxTextCtrl( m_panel151, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat1_d1->SetMaxLength( 0 ); 
	bSizer143131->Add( m_Lat1_d1, 0, wxALL, 5 );
	
	m_staticText333131 = new wxStaticText( m_panel151, wxID_ANY, _("\u00b0"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
	m_staticText333131->Wrap( -1 );
	bSizer143131->Add( m_staticText333131, 0, wxALL, 5 );
	
	m_Lat1_m1 = new wxTextCtrl( m_panel151, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat1_m1->SetMaxLength( 0 ); 
	bSizer143131->Add( m_Lat1_m1, 0, wxALL, 5 );
	
	m_staticText11431 = new wxStaticText( m_panel151, wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText11431->Wrap( -1 );
	bSizer143131->Add( m_staticText11431, 0, wxALL, 5 );
	
	wxString m_Lat1_NS1Choices[] = { _("N"), _("S") };
	int m_Lat1_NS1NChoices = sizeof( m_Lat1_NS1Choices ) / sizeof( wxString );
	m_Lat1_NS1 = new wxChoice( m_panel151, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lat1_NS1NChoices, m_Lat1_NS1Choices, 0 );
	m_Lat1_NS1->SetSelection( 0 );
	bSizer143131->Add( m_Lat1_NS1, 0, wxALL, 5 );
	
	
	bSizer132121->Add( bSizer143131, 0, 0, 5 );
	
	wxBoxSizer* bSizer1431121;
	bSizer1431121 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText3231121 = new wxStaticText( m_panel151, wxID_ANY, _("Lon"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3231121->Wrap( -1 );
	bSizer1431121->Add( m_staticText3231121, 0, wxALL, 5 );
	
	m_Lon1_d1 = new wxTextCtrl( m_panel151, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon1_d1->SetMaxLength( 0 ); 
	bSizer1431121->Add( m_Lon1_d1, 0, wxALL, 5 );
	
	m_staticText3331121 = new wxStaticText( m_panel151, wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3331121->Wrap( -1 );
	bSizer1431121->Add( m_staticText3331121, 0, wxALL, 5 );
	
	m_Lon1_m1 = new wxTextCtrl( m_panel151, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon1_m1->SetMaxLength( 0 ); 
	bSizer1431121->Add( m_Lon1_m1, 0, wxALL, 5 );
	
	m_staticText114121 = new wxStaticText( m_panel151, wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText114121->Wrap( -1 );
	bSizer1431121->Add( m_staticText114121, 0, wxALL, 5 );
	
	wxString m_Lon1_EW1Choices[] = { _("E"), _("W") };
	int m_Lon1_EW1NChoices = sizeof( m_Lon1_EW1Choices ) / sizeof( wxString );
	m_Lon1_EW1 = new wxChoice( m_panel151, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lon1_EW1NChoices, m_Lon1_EW1Choices, 0 );
	m_Lon1_EW1->SetSelection( 0 );
	bSizer1431121->Add( m_Lon1_EW1, 0, wxALL, 5 );
	
	
	bSizer132121->Add( bSizer1431121, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	sbSizer721->Add( bSizer132121, 0, 0, 5 );
	
	
	bSizer4011->Add( sbSizer721, 0, 0, 5 );
	
	wxBoxSizer* bSizer4811;
	bSizer4811 = new wxBoxSizer( wxHORIZONTAL );
	
	m_button811 = new wxButton( m_panel151, wxID_ANY, _("Convert"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer4811->Add( m_button811, 0, wxALL, 5 );
	
	
	bSizer4011->Add( bSizer4811, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	m_panel151->SetSizer( bSizer4011 );
	m_panel151->Layout();
	bSizer4011->Fit( m_panel151 );
	m_wxNotebook234->AddPage( m_panel151, _("Degree, Minute"), true );
	m_panel15 = new wxPanel( m_wxNotebook234, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer401;
	bSizer401 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer72;
	sbSizer72 = new wxStaticBoxSizer( new wxStaticBox( m_panel15, wxID_ANY, _("DD\u00b0MM'SS.s (no limit to digits)") ), wxVERTICAL );
	
	wxBoxSizer* bSizer13212;
	bSizer13212 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer14313;
	bSizer14313 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText32313 = new wxStaticText( m_panel15, wxID_ANY, _("Lat "), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText32313->Wrap( -1 );
	bSizer14313->Add( m_staticText32313, 0, wxALL, 5 );
	
	m_Lat1_d = new wxTextCtrl( m_panel15, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat1_d->SetMaxLength( 0 ); 
	bSizer14313->Add( m_Lat1_d, 0, wxALL, 5 );
	
	m_staticText33313 = new wxStaticText( m_panel15, wxID_ANY, _("\u00b0"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
	m_staticText33313->Wrap( -1 );
	bSizer14313->Add( m_staticText33313, 0, wxALL, 5 );
	
	m_Lat1_m = new wxTextCtrl( m_panel15, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat1_m->SetMaxLength( 0 ); 
	bSizer14313->Add( m_Lat1_m, 0, wxALL, 5 );
	
	m_staticText1143 = new wxStaticText( m_panel15, wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText1143->Wrap( -1 );
	bSizer14313->Add( m_staticText1143, 0, wxALL, 5 );
	
	m_Lat1_s = new wxTextCtrl( m_panel15, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat1_s->SetMaxLength( 0 ); 
	bSizer14313->Add( m_Lat1_s, 0, wxALL, 5 );
	
	m_staticText1153 = new wxStaticText( m_panel15, wxID_ANY, _("\""), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText1153->Wrap( -1 );
	bSizer14313->Add( m_staticText1153, 0, wxALL, 5 );
	
	wxString m_Lat1_NSChoices[] = { _("N"), _("S") };
	int m_Lat1_NSNChoices = sizeof( m_Lat1_NSChoices ) / sizeof( wxString );
	m_Lat1_NS = new wxChoice( m_panel15, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lat1_NSNChoices, m_Lat1_NSChoices, 0 );
	m_Lat1_NS->SetSelection( 0 );
	bSizer14313->Add( m_Lat1_NS, 0, wxALL, 5 );
	
	
	bSizer13212->Add( bSizer14313, 0, 0, 5 );
	
	wxBoxSizer* bSizer143112;
	bSizer143112 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText323112 = new wxStaticText( m_panel15, wxID_ANY, _("Lon"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText323112->Wrap( -1 );
	bSizer143112->Add( m_staticText323112, 0, wxALL, 5 );
	
	m_Lon1_d = new wxTextCtrl( m_panel15, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon1_d->SetMaxLength( 0 ); 
	bSizer143112->Add( m_Lon1_d, 0, wxALL, 5 );
	
	m_staticText333112 = new wxStaticText( m_panel15, wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText333112->Wrap( -1 );
	bSizer143112->Add( m_staticText333112, 0, wxALL, 5 );
	
	m_Lon1_m = new wxTextCtrl( m_panel15, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon1_m->SetMaxLength( 0 ); 
	bSizer143112->Add( m_Lon1_m, 0, wxALL, 5 );
	
	m_staticText11412 = new wxStaticText( m_panel15, wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText11412->Wrap( -1 );
	bSizer143112->Add( m_staticText11412, 0, wxALL, 5 );
	
	m_Lon1_s = new wxTextCtrl( m_panel15, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon1_s->SetMaxLength( 0 ); 
	bSizer143112->Add( m_Lon1_s, 0, wxALL, 5 );
	
	m_staticText11512 = new wxStaticText( m_panel15, wxID_ANY, _("\""), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText11512->Wrap( -1 );
	bSizer143112->Add( m_staticText11512, 0, wxALL, 5 );
	
	wxString m_Lon1_EWChoices[] = { _("E"), _("W") };
	int m_Lon1_EWNChoices = sizeof( m_Lon1_EWChoices ) / sizeof( wxString );
	m_Lon1_EW = new wxChoice( m_panel15, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lon1_EWNChoices, m_Lon1_EWChoices, 0 );
	m_Lon1_EW->SetSelection( 0 );
	bSizer143112->Add( m_Lon1_EW, 0, wxALL, 5 );
	
	
	bSizer13212->Add( bSizer143112, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	sbSizer72->Add( bSizer13212, 0, 0, 5 );
	
	
	bSizer401->Add( sbSizer72, 0, 0, 5 );
	
	wxBoxSizer* bSizer481;
	bSizer481 = new wxBoxSizer( wxHORIZONTAL );
	
	m_button81 = new wxButton( m_panel15, wxID_ANY, _("Convert"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer481->Add( m_button81, 0, wxALL, 5 );
	
	
	bSizer401->Add( bSizer481, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	m_panel15->SetSizer( bSizer401 );
	m_panel15->Layout();
	bSizer401->Fit( m_panel15 );
	m_wxNotebook234->AddPage( m_panel15, _("\u00b0 ' \""), false );
	
	bSizer35->Add( m_wxNotebook234, 0, wxALL, 5 );
	
	
	m_panel14->SetSizer( bSizer35 );
	m_panel14->Layout();
	bSizer35->Fit( m_panel14 );
	bSizer40->Add( m_panel14, 1, wxEXPAND | wxALL, 5 );
	
	
	this->SetSizer( bSizer40 );
	this->Layout();
	bSizer40->Fit( this );
	
	this->Centre( wxBOTH );
	
	// Connect Events
	m_wxNotebook234->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( MyDialog5::OnNoteBookFit ), NULL, this );
	m_button811->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MyDialog5::OnConverttoDegree ), NULL, this );
	m_button81->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MyDialog5::OnConverttoDegree ), NULL, this );
}
Пример #22
0
GUIFrame::GUIFrame( 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 );
	this->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
	
	statusBar = this->CreateStatusBar( 2, wxST_SIZEGRIP, wxID_ANY );
	wxBoxSizer* bSizer1;
	bSizer1 = new wxBoxSizer( wxVERTICAL );
	
	tabs = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0|wxTAB_TRAVERSAL );
	m_panel_updater = new wxPanel( tabs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer4;
	bSizer4 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer1;
	sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( m_panel_updater, wxID_ANY, _("Proxy settings") ), wxVERTICAL );
	
	gbSizer5 = new wxGridBagSizer( 0, 0 );
	gbSizer5->SetFlexibleDirection( wxBOTH );
	gbSizer5->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_proxy = new wxCheckBox( m_panel_updater, wxID_ANY, _("&Proxy required for Internet access"), wxDefaultPosition, wxDefaultSize, 0 );
	m_proxy->SetToolTip( _("Configure freshclam to use a proxy for fetching the updates") );
	
	gbSizer5->Add( m_proxy, wxGBPosition( 0, 0 ), wxGBSpan( 1, 2 ), wxALL, 5 );
	
	m_staticText2 = new wxStaticText( m_panel_updater, wxID_ANY, _("Proxy server:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText2->Wrap( -1 );
	gbSizer5->Add( m_staticText2, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALL, 5 );
	
	m_proxy_server = new wxTextCtrl( m_panel_updater, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_proxy_server->Enable( false );
	m_proxy_server->SetToolTip( _("hostname or IP address of proxy server") );
	
	gbSizer5->Add( m_proxy_server, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 );
	
	m_staticText3 = new wxStaticText( m_panel_updater, wxID_ANY, _("Proxy port:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3->Wrap( -1 );
	gbSizer5->Add( m_staticText3, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALL, 5 );
	
	m_proxy_port = new wxSpinCtrl( m_panel_updater, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 65536, 3128 );
	m_proxy_port->Enable( false );
	m_proxy_port->SetToolTip( _("port of proxy server") );
	
	gbSizer5->Add( m_proxy_port, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 );
	
	m_proxyauth = new wxCheckBox( m_panel_updater, wxID_ANY, _("A&uthentication required"), wxDefaultPosition, wxDefaultSize, 0 );
	m_proxyauth->Enable( false );
	m_proxyauth->SetToolTip( _("Configure freshclam to authenticate to the proxy server") );
	
	gbSizer5->Add( m_proxyauth, wxGBPosition( 3, 0 ), wxGBSpan( 1, 2 ), wxALL, 5 );
	
	m_staticText4 = new wxStaticText( m_panel_updater, wxID_ANY, _("Proxy username:"******"username for proxy authentication") );
	
	gbSizer5->Add( m_proxy_user, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 );
	
	m_staticText5 = new wxStaticText( m_panel_updater, wxID_ANY, _("Proxy password:"******"password for proxy authentication") );
	
	gbSizer5->Add( m_proxy_password, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 );
	
	m_proxy_autodet = new wxButton( m_panel_updater, wxID_ANY, _("R&etrieve system proxy settings"), wxDefaultPosition, wxDefaultSize, 0 );
	m_proxy_autodet->SetToolTip( _("Copy system proxy setting to freshclam's") );
	
	gbSizer5->Add( m_proxy_autodet, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxALL, 5 );
	
	
	wxStaticText* m_customControl3 = new wxStaticText(m_panel_updater, wxID_ANY, wxT(""));
	gbSizer5->AddGrowableCol(1);
	gbSizer5->Add( m_customControl3, wxGBPosition( 6, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
	
	sbSizer1->Add( gbSizer5, 1, wxALL|wxEXPAND, 5 );
	
	bSizer4->Add( sbSizer1, 0, wxALL|wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer2;
	sbSizer2 = new wxStaticBoxSizer( new wxStaticBox( m_panel_updater, wxID_ANY, _("Signature sources") ), wxVERTICAL );
	
	wxFlexGridSizer* fgSizer1;
	fgSizer1 = new wxFlexGridSizer( 2, 2, 0, 0 );
	fgSizer1->AddGrowableCol( 1 );
	fgSizer1->SetFlexibleDirection( wxBOTH );
	fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_staticText6 = new wxStaticText( m_panel_updater, wxID_ANY, _("Download Official Signatures from mirror:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText6->Wrap( -1 );
	fgSizer1->Add( m_staticText6, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	m_mirror = new wxComboBox( m_panel_updater, wxID_ANY, _("db.local.win.clamav.net"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
	m_mirror->Append( _("db.at.clamav.net") );
	m_mirror->Append( _("db.au.clamav.net") );
	m_mirror->Append( _("db.ba.clamav.net") );
	m_mirror->Append( _("db.br.clamav.net") );
	m_mirror->Append( _("db.by.clamav.net") );
	m_mirror->Append( _("db.ca.clamav.net") );
	m_mirror->Append( _("db.ch.clamav.net") );
	m_mirror->Append( _("db.cn.clamav.net") );
	m_mirror->Append( _("db.cy.clamav.net") );
	m_mirror->Append( _("db.cz.clamav.net") );
	m_mirror->Append( _("db.de.clamav.net") );
	m_mirror->Append( _("db.dk.clamav.net") );
	m_mirror->Append( _("db.ee.clamav.net") );
	m_mirror->Append( _("db.es.clamav.net") );
	m_mirror->Append( _("db.fi.clamav.net") );
	m_mirror->Append( _("db.fr.clamav.net") );
	m_mirror->Append( _("db.gl.clamav.net") );
	m_mirror->Append( _("db.gr.clamav.net") );
	m_mirror->Append( _("db.hk.clamav.net") );
	m_mirror->Append( _("db.hu.clamav.net") );
	m_mirror->Append( _("db.id.clamav.net") );
	m_mirror->Append( _("db.ie.clamav.net") );
	m_mirror->Append( _("db.in.clamav.net") );
	m_mirror->Append( _("db.it.clamav.net") );
	m_mirror->Append( _("db.jp.clamav.net") );
	m_mirror->Append( _("db.kr.clamav.net") );
	m_mirror->Append( _("db.li.clamav.net") );
	m_mirror->Append( _("db.lt.clamav.net") );
	m_mirror->Append( _("db.mt.clamav.net") );
	m_mirror->Append( _("db.nl.clamav.net") );
	m_mirror->Append( _("db.no.clamav.net") );
	m_mirror->Append( _("db.pl.clamav.net") );
	m_mirror->Append( _("db.pt.clamav.net") );
	m_mirror->Append( _("db.ro.clamav.net") );
	m_mirror->Append( _("db.ru.clamav.net") );
	m_mirror->Append( _("db.se.clamav.net") );
	m_mirror->Append( _("db.si.clamav.net") );
	m_mirror->Append( _("db.sk.clamav.net") );
	m_mirror->Append( _("db.th.clamav.net") );
	m_mirror->Append( _("db.tr.clamav.net") );
	m_mirror->Append( _("db.tw.clamav.net") );
	m_mirror->Append( _("db.ua.clamav.net") );
	m_mirror->Append( _("db.uk.clamav.net") );
	m_mirror->Append( _("db.us.clamav.net") );
	m_mirror->Append( _("db.local.clamav.net") );
	m_mirror->SetToolTip( _("Choose mirror (db.COUNTRYCODE.clamav.net)") );
	
	fgSizer1->Add( m_mirror, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
	
	m_bytecode = new wxCheckBox( m_panel_updater, wxID_ANY, _("Official bytecode signatures"), wxDefaultPosition, wxDefaultSize, 0 );
	m_bytecode->SetValue(true); 
	fgSizer1->Add( m_bytecode, 0, wxALL, 5 );
	
	sbSizer2->Add( fgSizer1, 0, wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer3;
	sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_panel_updater, wxID_ANY, _("Custom signature URLs") ), wxVERTICAL );
	
	wxGridBagSizer* gbSizer6;
	gbSizer6 = new wxGridBagSizer( 0, 0 );
	gbSizer6->AddGrowableCol( 0 );
	gbSizer6->AddGrowableRow( 2 );
	gbSizer6->SetFlexibleDirection( wxBOTH );
	gbSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_urls = new wxListBox( m_panel_updater, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_NEEDED_SB|wxLB_SINGLE ); 
	m_urls->SetToolTip( _("URLs from where custom signatures are downloaded") );
	
	gbSizer6->Add( m_urls, wxGBPosition( 0, 0 ), wxGBSpan( 3, 1 ), wxALL|wxEXPAND, 5 );
	
	m_custom_add = new wxButton( m_panel_updater, wxID_ANY, _("&Add"), wxDefaultPosition, wxDefaultSize, 0 );
	m_custom_add->SetToolTip( _("Add a new custom signature URL") );
	
	gbSizer6->Add( m_custom_add, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
	
	m_custom_remove = new wxButton( m_panel_updater, wxID_ANY, _("&Remove"), wxDefaultPosition, wxDefaultSize, 0 );
	m_custom_remove->Enable( false );
	m_custom_remove->SetToolTip( _("Remove a custom signature URL") );
	
	gbSizer6->Add( m_custom_remove, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
	
	sbSizer3->Add( gbSizer6, 1, wxEXPAND, 5 );
	
	sbSizer2->Add( sbSizer3, 1, wxEXPAND, 5 );
	
	bSizer4->Add( sbSizer2, 1, wxALL|wxEXPAND, 5 );
	
	wxBoxSizer* bSizer41;
	bSizer41 = new wxBoxSizer( wxHORIZONTAL );
	
	m_save_settings = new wxButton( m_panel_updater, wxID_SAVE, _("&Save settings"), wxDefaultPosition, wxDefaultSize, 0 );
	m_save_settings->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	m_save_settings->SetToolTip( _("Save proxy and signature source settings to freshclam.conf") );
	
	bSizer41->Add( m_save_settings, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	bSizer41->Add( 10, 0, 1, wxEXPAND, 5 );
	
	m_run_freshclam = new wxButton( m_panel_updater, wxID_ANY, _("Run &freshclam to test configuration"), wxDefaultPosition, wxDefaultSize, 0 );
	m_run_freshclam->SetToolTip( _("Runs freshclam database updater") );
	
	bSizer41->Add( m_run_freshclam, 0, wxALL, 5 );
	
	bSizer4->Add( bSizer41, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
	
	m_panel_updater->SetSizer( bSizer4 );
	m_panel_updater->Layout();
	bSizer4->Fit( m_panel_updater );
	tabs->AddPage( m_panel_updater, _("Updater configuration"), true );
	m_panel_sigman = new wxPanel( tabs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer7;
	bSizer7 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer4;
	sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( m_panel_sigman, wxID_ANY, _("New signatures") ), wxVERTICAL );
	
	wxGridBagSizer* gbSizer61;
	gbSizer61 = new wxGridBagSizer( 0, 0 );
	gbSizer61->AddGrowableCol( 0 );
	gbSizer61->AddGrowableRow( 2 );
	gbSizer61->SetFlexibleDirection( wxBOTH );
	gbSizer61->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_sig_candidates = new wxListBox( m_panel_sigman, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_EXTENDED|wxLB_HSCROLL|wxLB_NEEDED_SB ); 
	m_sig_candidates->SetToolTip( _("signature files to be added (candidates)") );
	
	gbSizer61->Add( m_sig_candidates, wxGBPosition( 0, 0 ), wxGBSpan( 3, 1 ), wxALL|wxEXPAND, 5 );
	
	m_local_add = new wxButton( m_panel_sigman, wxID_ANY, _("&Add"), wxDefaultPosition, wxDefaultSize, 0 );
	m_local_add->SetToolTip( _("Add new signature file candidate") );
	
	gbSizer61->Add( m_local_add, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
	
	m_local_remove = new wxButton( m_panel_sigman, wxID_ANY, _("&Remove"), wxDefaultPosition, wxDefaultSize, 0 );
	m_local_remove->Enable( false );
	m_local_remove->SetToolTip( _("Remove a signature file candidate") );
	
	gbSizer61->Add( m_local_remove, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
	
	sbSizer4->Add( gbSizer61, 1, wxEXPAND, 5 );
	
	bSizer7->Add( sbSizer4, 1, wxALL|wxEXPAND, 5 );
	
	m_install = new wxButton( m_panel_sigman, wxID_ANY, _("Verify and &Install signatures"), wxDefaultPosition, wxDefaultSize, 0 );
	m_install->Enable( false );
	m_install->SetToolTip( _("Check that the signature files are well formed and install them in ClamAV's database directory") );
	
	bSizer7->Add( m_install, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	wxStaticBoxSizer* sbSizer5;
	sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( m_panel_sigman, wxID_ANY, _("Installed signatures") ), wxHORIZONTAL );
	
	m_installed_sigs = new wxListBox( m_panel_sigman, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_EXTENDED|wxLB_HSCROLL|wxLB_NEEDED_SB ); 
	m_installed_sigs->SetToolTip( _("Databases currently usable by ClamAV") );
	
	sbSizer5->Add( m_installed_sigs, 1, wxALL|wxEXPAND, 5 );
	
	m_delete = new wxButton( m_panel_sigman, wxID_ANY, _("&Delete"), wxDefaultPosition, wxDefaultSize, 0 );
	m_delete->SetToolTip( _("Delete an actual signature database from the disk") );
	
	sbSizer5->Add( m_delete, 0, wxALL, 5 );
	
	bSizer7->Add( sbSizer5, 1, wxALL|wxEXPAND, 5 );
	
	m_panel_sigman->SetSizer( bSizer7 );
	m_panel_sigman->Layout();
	bSizer7->Fit( m_panel_sigman );
	tabs->AddPage( m_panel_sigman, _("Local signature management"), false );
	
	bSizer1->Add( tabs, 1, wxEXPAND, 5 );
	
	this->SetSizer( bSizer1 );
	this->Layout();
	
	// Connect Events
	this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIFrame::OnClose ) );
	this->Connect( wxEVT_IDLE, wxIdleEventHandler( GUIFrame::GUIFrameOnIdle ) );
	tabs->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( GUIFrame::tabsOnNotebookPageChanged ), NULL, this );
	m_proxy->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GUIFrame::m_proxyOnCheckBox ), NULL, this );
	m_proxyauth->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GUIFrame::m_proxyauthOnCheckBox ), NULL, this );
	m_proxy_autodet->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_proxy_autodetOnButtonClick ), NULL, this );
	m_bytecode->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GUIFrame::m_bytecodeOnCheckBox ), NULL, this );
	m_custom_add->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_custom_addOnButtonClick ), NULL, this );
	m_custom_remove->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_custom_removeOnButtonClick ), NULL, this );
	m_save_settings->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_save_settingsOnButtonClick ), NULL, this );
	m_run_freshclam->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_run_freshclamOnButtonClick ), NULL, this );
	m_local_add->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_local_addOnButtonClick ), NULL, this );
	m_local_remove->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_local_removeOnButtonClick ), NULL, this );
	m_install->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_installOnButtonClick ), NULL, this );
	m_delete->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GUIFrame::m_deleteOnButtonClick ), NULL, this );
}
Пример #23
0
CDialogWlanTestBase::CDialogWlanTestBase( 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* bSizer2;
	bSizer2 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer72;
	bSizer72 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText21 = new wxStaticText( this, wxID_ANY, wxT("CLIENT IP:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText21->Wrap( -1 );
	bSizer72->Add( m_staticText21, 0, wxALL, 5 );
	
	m_textCtrlClientIp = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizer72->Add( m_textCtrlClientIp, 1, wxALL, 5 );
	
	bSizer2->Add( bSizer72, 0, wxEXPAND, 5 );
	
	bSizerTCP_UDP = new wxBoxSizer( wxHORIZONTAL );
	
	wxString m_radioBox_TCPUDPChoices[] = { wxT("TCP"), wxT("UDP") };
	int m_radioBox_TCPUDPNChoices = sizeof( m_radioBox_TCPUDPChoices ) / sizeof( wxString );
	m_radioBox_TCPUDP = new wxRadioBox( this, wxID_ANY, wxT("TCP/UDP"), wxDefaultPosition, wxDefaultSize, m_radioBox_TCPUDPNChoices, m_radioBox_TCPUDPChoices, 2, wxRA_SPECIFY_COLS );
	m_radioBox_TCPUDP->SetSelection( 0 );
	bSizerTCP_UDP->Add( m_radioBox_TCPUDP, 0, wxALL, 5 );
	
	wxBoxSizer* bSizer40;
	bSizer40 = new wxBoxSizer( wxVERTICAL );
	
	bSizer_UDPSpeed = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText1Info = new wxStaticText( this, wxID_ANY, wxT("UDP Send Speed (Kbit/sec):"), wxDefaultPosition, wxSize( 180,-1 ), wxALIGN_RIGHT );
	m_staticText1Info->Wrap( -1 );
	bSizer_UDPSpeed->Add( m_staticText1Info, 0, wxALIGN_CENTER|wxALL, 5 );
	
	m_textCtrlUDPSpeed = new wxTextCtrl( this, wxID_ANY, wxT("10"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer_UDPSpeed->Add( m_textCtrlUDPSpeed, 0, wxALIGN_CENTER|wxALL, 5 );
	
	bSizer40->Add( bSizer_UDPSpeed, 0, wxEXPAND, 5 );
	
	bSizer_TestTime = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText1Info1 = new wxStaticText( this, wxID_ANY, wxT("Test Total Time(S):"), wxDefaultPosition, wxSize( 180,-1 ), wxALIGN_RIGHT );
	m_staticText1Info1->Wrap( -1 );
	bSizer_TestTime->Add( m_staticText1Info1, 0, wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	m_textCtrlTestTime = new wxTextCtrl( this, wxID_ANY, wxT("10"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer_TestTime->Add( m_textCtrlTestTime, 0, wxALIGN_CENTER|wxALL, 5 );
	
	bSizer40->Add( bSizer_TestTime, 0, wxEXPAND, 5 );
	
	bSizerTCP_UDP->Add( bSizer40, 1, wxEXPAND, 5 );
	
	bSizer2->Add( bSizerTCP_UDP, 0, wxEXPAND, 5 );
	
	m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	
	bSizer2->Add( m_notebook, 1, wxEXPAND | wxALL, 5 );
	
	this->SetSizer( bSizer2 );
	this->Layout();
	
	this->Centre( wxBOTH );
	
	// Connect Events
	this->Connect( wxEVT_IDLE, wxIdleEventHandler( CDialogWlanTestBase::OnIdle ) );
	this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( CDialogWlanTestBase::OnInitDialog ) );
	m_radioBox_TCPUDP->Connect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( CDialogWlanTestBase::TCPUDPOnRadioBox ), NULL, this );
	m_notebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( CDialogWlanTestBase::OnNotebookPageChanged ), NULL, this );
}
Пример #24
0
BrandonFrameGUI::BrandonFrameGUI( 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 );
	
	wxBoxSizer* bSizer1;
	bSizer1 = new wxBoxSizer( wxVERTICAL );
	
	notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_LEFT );
	settingsPanel = new wxPanel( notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer2;
	bSizer2 = new wxBoxSizer( wxHORIZONTAL );
	
	wxBoxSizer* bSizer11b;
	bSizer11b = new wxBoxSizer( wxVERTICAL );
	
	wxFlexGridSizer* fgSizer1;
	fgSizer1 = new wxFlexGridSizer( 12, 2, 0, 0 );
	fgSizer1->AddGrowableCol( 1 );
	fgSizer1->AddGrowableRow( 9 );
	fgSizer1->SetFlexibleDirection( wxBOTH );
	fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_staticText8 = new wxStaticText( settingsPanel, wxID_ANY, _("Source Images"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText8->Wrap( -1 );
	fgSizer1->Add( m_staticText8, 0, wxALL, 8 );
	
	wxBoxSizer* bSizer15b;
	bSizer15b = new wxBoxSizer( wxHORIZONTAL );
	
	wxArrayString sourceImagesChoices;
	sourceImages = new wxChoice( settingsPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, sourceImagesChoices, 0 );
	sourceImages->SetSelection( 0 );
	bSizer15b->Add( sourceImages, 1, wxALL, 4 );
	
	m_button4 = new wxButton( settingsPanel, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer15b->Add( m_button4, 0, wxALL, 4 );
	
	
	fgSizer1->Add( bSizer15b, 1, wxEXPAND, 5 );
	
	m_staticText1 = new wxStaticText( settingsPanel, wxID_ANY, _("Symbol Name (Filename):"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText1->Wrap( -1 );
	fgSizer1->Add( m_staticText1, 0, wxALL, 8 );
	
	filename = new wxTextCtrl( settingsPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer1->Add( filename, 0, wxALL|wxEXPAND, 8 );
	
	m_staticText7 = new wxStaticText( settingsPanel, wxID_ANY, _("GBA Mode:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText7->Wrap( -1 );
	fgSizer1->Add( m_staticText7, 0, wxALL, 8 );
	
	wxBoxSizer* bSizer8;
	bSizer8 = new wxBoxSizer( wxHORIZONTAL );
	
	
	bSizer8->Add( 0, 0, 1, wxEXPAND, 5 );
	
	wxString modeChoices[] = { _("Mode3"), _("Mode4"), _("Mode0"), _("Sprites") };
	int modeNChoices = sizeof( modeChoices ) / sizeof( wxString );
	mode = new wxChoice( settingsPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, modeNChoices, modeChoices, 0 );
	mode->SetSelection( 0 );
	mode->SetToolTip( _("Which GBA Mode you want.") );
	
	bSizer8->Add( mode, 0, wxALL, 5 );
	
	
	fgSizer1->Add( bSizer8, 1, wxEXPAND, 5 );
	
	m_staticText2 = new wxStaticText( settingsPanel, wxID_ANY, _("Resize Images:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText2->Wrap( -1 );
	fgSizer1->Add( m_staticText2, 0, wxALL, 8 );
	
	wxBoxSizer* bSizer5;
	bSizer5 = new wxBoxSizer( wxHORIZONTAL );
	
	
	bSizer5->Add( 0, 0, 1, wxEXPAND, 5 );
	
	m_staticText3 = new wxStaticText( settingsPanel, wxID_ANY, _("Width"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3->Wrap( -1 );
	bSizer5->Add( m_staticText3, 0, wxALL, 8 );
	
	width = new wxSpinCtrl( settingsPanel, wxID_ANY, wxT("-1"), wxDefaultPosition, wxSize( 64,-1 ), wxSP_ARROW_KEYS, -1, 1024, 1 );
	width->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) );
	width->SetToolTip( _("Resize ALL images to this width") );
	
	bSizer5->Add( width, 0, wxALL, 5 );
	
	m_staticText4 = new wxStaticText( settingsPanel, wxID_ANY, _("Height"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText4->Wrap( -1 );
	bSizer5->Add( m_staticText4, 0, wxALL, 8 );
	
	height = new wxSpinCtrl( settingsPanel, wxID_ANY, wxT("-1"), wxDefaultPosition, wxSize( 64,-1 ), wxSP_ARROW_KEYS, -1, 1024, 1 );
	height->SetToolTip( _("Resize ALL images to this height") );
	
	bSizer5->Add( height, 0, wxALL, 5 );
	
	
	fgSizer1->Add( bSizer5, 1, wxALIGN_RIGHT|wxEXPAND, 5 );
	
	m_staticText5 = new wxStaticText( settingsPanel, wxID_ANY, _("Start Index:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText5->Wrap( -1 );
	fgSizer1->Add( m_staticText5, 0, wxALL, 8 );
	
	wxBoxSizer* bSizer6;
	bSizer6 = new wxBoxSizer( wxHORIZONTAL );
	
	
	bSizer6->Add( 0, 0, 1, wxEXPAND, 5 );
	
	startIndex = new wxSpinCtrl( settingsPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 255, 0 );
	startIndex->Enable( false );
	startIndex->SetToolTip( _("Start index for palette") );
	
	bSizer6->Add( startIndex, 0, wxALL, 5 );
	
	
	fgSizer1->Add( bSizer6, 1, wxEXPAND, 5 );
	
	m_staticText171 = new wxStaticText( settingsPanel, wxID_ANY, _("Palette Size:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText171->Wrap( -1 );
	fgSizer1->Add( m_staticText171, 0, wxALL, 8 );
	
	wxBoxSizer* bSizer18;
	bSizer18 = new wxBoxSizer( wxVERTICAL );
	
	paletteSize = new wxSpinCtrl( settingsPanel, wxID_ANY, wxT("255"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 255, 255 );
	paletteSize->Enable( false );
	
	bSizer18->Add( paletteSize, 0, wxALL|wxALIGN_RIGHT, 5 );
	
	
	fgSizer1->Add( bSizer18, 1, wxEXPAND, 5 );
	
	m_staticText1711 = new wxStaticText( settingsPanel, wxID_ANY, _("Bpp:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText1711->Wrap( -1 );
	fgSizer1->Add( m_staticText1711, 0, wxALL, 8 );
	
	wxBoxSizer* bSizer181;
	bSizer181 = new wxBoxSizer( wxVERTICAL );
	
	wxString bppChoices[] = { _("4 Bits"), _("8 Bits") };
	int bppNChoices = sizeof( bppChoices ) / sizeof( wxString );
	bpp = new wxChoice( settingsPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, bppNChoices, bppChoices, 0 );
	bpp->SetSelection( 1 );
	bpp->Enable( false );
	
	bSizer181->Add( bpp, 0, wxALL|wxALIGN_RIGHT, 5 );
	
	
	fgSizer1->Add( bSizer181, 1, wxEXPAND, 5 );
	
	m_staticText21 = new wxStaticText( settingsPanel, wxID_ANY, _("Sprite Mode:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText21->Wrap( -1 );
	fgSizer1->Add( m_staticText21, 0, wxALL, 8 );
	
	wxBoxSizer* bSizer1811;
	bSizer1811 = new wxBoxSizer( wxVERTICAL );
	
	wxString spriteModeChoices[] = { _("1D"), _("2D") };
	int spriteModeNChoices = sizeof( spriteModeChoices ) / sizeof( wxString );
	spriteMode = new wxChoice( settingsPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, spriteModeNChoices, spriteModeChoices, 0 );
	spriteMode->SetSelection( 1 );
	spriteMode->Enable( false );
	
	bSizer1811->Add( spriteMode, 0, wxALL|wxALIGN_RIGHT, 5 );
	
	
	fgSizer1->Add( bSizer1811, 1, wxEXPAND, 5 );
	
	m_staticText151 = new wxStaticText( settingsPanel, wxID_ANY, _("Colorkey Image?"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText151->Wrap( -1 );
	fgSizer1->Add( m_staticText151, 0, wxALL, 8 );
	
	wxBoxSizer* bSizer15;
	bSizer15 = new wxBoxSizer( wxVERTICAL );
	
	colorkey = new wxCheckBox( settingsPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
	colorkey->SetToolTip( _("Enable Transparent Color") );
	
	bSizer15->Add( colorkey, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxRIGHT, 6 );
	
	
	fgSizer1->Add( bSizer15, 1, wxEXPAND, 5 );
	
	m_staticText141 = new wxStaticText( settingsPanel, wxID_ANY, _("Transparent Color:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText141->Wrap( -1 );
	fgSizer1->Add( m_staticText141, 0, wxALL, 8 );
	
	wxBoxSizer* bSizer99;
	bSizer99 = new wxBoxSizer( wxHORIZONTAL );
	
	
	bSizer99->Add( 0, 0, 1, wxEXPAND, 5 );
	
	transparent = new wxColourPickerCtrl( settingsPanel, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE|wxCLRP_SHOW_LABEL );
	transparent->Enable( false );
	
	bSizer99->Add( transparent, 0, wxALL, 4 );
	
	
	fgSizer1->Add( bSizer99, 1, wxEXPAND, 5 );
	
	
	fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
	
	
	fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
	
	
	fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer160;
	bSizer160 = new wxBoxSizer( wxHORIZONTAL );
	
	
	bSizer160->Add( 0, 0, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer171;
	bSizer171 = new wxBoxSizer( wxHORIZONTAL );
	
	command = new wxButton( settingsPanel, wxID_ANY, _("Command"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer171->Add( command, 0, wxALL, 5 );
	
	exportImage = new wxButton( settingsPanel, wxID_ANY, _("Export!"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer171->Add( exportImage, 0, wxALIGN_RIGHT|wxALL, 5 );
	
	
	bSizer160->Add( bSizer171, 0, 0, 5 );
	
	
	fgSizer1->Add( bSizer160, 1, wxEXPAND|wxALIGN_RIGHT, 5 );
	
	
	bSizer11b->Add( fgSizer1, 1, wxEXPAND, 5 );
	
	
	bSizer2->Add( bSizer11b, 1, wxEXPAND, 5 );
	
	
	settingsPanel->SetSizer( bSizer2 );
	settingsPanel->Layout();
	bSizer2->Fit( settingsPanel );
	notebook->AddPage( settingsPanel, _("Settings"), true );
	advancedPanel = new wxPanel( notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	advancedPanel->SetToolTip( _("Do not touch anything here unless you know what you are doing ;D") );
	
	wxFlexGridSizer* fgSizer2;
	fgSizer2 = new wxFlexGridSizer( 7, 3, 0, 0 );
	fgSizer2->AddGrowableCol( 1 );
	fgSizer2->SetFlexibleDirection( wxHORIZONTAL );
	fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_staticText11 = new wxStaticText( advancedPanel, wxID_ANY, _("Volume"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText11->Wrap( -1 );
	fgSizer2->Add( m_staticText11, 0, wxALL, 8 );
	
	
	fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 );
	
	volume = new wxSpinCtrl( advancedPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 25 );
	volume->SetToolTip( _("Parameter for Median Cut.  Controls how many boxes are split based on volume.") );
	
	fgSizer2->Add( volume, 0, wxALL, 4 );
	
	m_staticText12 = new wxStaticText( advancedPanel, wxID_ANY, _("Population"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText12->Wrap( -1 );
	fgSizer2->Add( m_staticText12, 0, wxALL, 8 );
	
	
	fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 );
	
	population = new wxSpinCtrl( advancedPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 25 );
	population->SetToolTip( _("Parameter for Median Cut.  Controls how many boxes are split based on color population.") );
	
	fgSizer2->Add( population, 0, wxALL, 4 );
	
	m_staticText13 = new wxStaticText( advancedPanel, wxID_ANY, _("Population*Volume"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText13->Wrap( -1 );
	fgSizer2->Add( m_staticText13, 0, wxALL, 8 );
	
	
	fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 );
	
	popvolume = new wxSpinCtrl( advancedPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 25 );
	popvolume->SetToolTip( _("Parameter for Median Cut.  Controls how many boxes are split based on the product of population and volume.") );
	
	fgSizer2->Add( popvolume, 0, wxALL, 4 );
	
	m_staticText14 = new wxStaticText( advancedPanel, wxID_ANY, _("Error"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText14->Wrap( -1 );
	fgSizer2->Add( m_staticText14, 0, wxALL, 8 );
	
	
	fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 );
	
	error = new wxSpinCtrl( advancedPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 25 );
	error->SetToolTip( _("Parameter for Median Cut.  Controls how many boxes are split based on error.") );
	
	fgSizer2->Add( error, 0, wxALL, 4 );
	
	m_staticText15 = new wxStaticText( advancedPanel, wxID_ANY, _("Dithering?"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText15->Wrap( -1 );
	fgSizer2->Add( m_staticText15, 0, wxALL, 8 );
	
	
	fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 );
	
	dither = new wxCheckBox( advancedPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
	dither->SetValue(true); 
	dither->SetToolTip( _("Enables or disables dithering") );
	
	fgSizer2->Add( dither, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxRIGHT, 8 );
	
	m_staticText16 = new wxStaticText( advancedPanel, wxID_ANY, _("Dither Level"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText16->Wrap( -1 );
	fgSizer2->Add( m_staticText16, 0, wxALL, 8 );
	
	
	fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 );
	
	ditherLevel = new wxSpinCtrl( advancedPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 80 );
	ditherLevel->SetToolTip( _("Controls the error propogation for the dithering algorithm") );
	
	fgSizer2->Add( ditherLevel, 0, wxALL, 5 );
	
	
	advancedPanel->SetSizer( fgSizer2 );
	advancedPanel->Layout();
	fgSizer2->Fit( advancedPanel );
	notebook->AddPage( advancedPanel, _("Advanced"), false );
	imagesPanel = new wxPanel( notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer3;
	bSizer3 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer10;
	bSizer10 = new wxBoxSizer( wxHORIZONTAL );
	
	wxStaticBoxSizer* sbSizer1;
	sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( imagesPanel, wxID_ANY, _("Current") ), wxVERTICAL );
	
	beforeWindow = new wxScrolledWindow( imagesPanel, wxID_ANY, wxDefaultPosition, wxSize( 256,256 ), wxHSCROLL|wxVSCROLL );
	beforeWindow->SetScrollRate( 8, 8 );
	beforeWindow->SetMinSize( wxSize( 256,256 ) );
	beforeWindow->SetMaxSize( wxSize( 256,256 ) );
	
	sbSizer1->Add( beforeWindow, 1, wxEXPAND | wxALL, 0 );
	
	
	bSizer10->Add( sbSizer1, 0, 0, 0 );
	
	
	bSizer10->Add( 0, 0, 1, wxEXPAND, 0 );
	
	wxStaticBoxSizer* sbSizer2;
	sbSizer2 = new wxStaticBoxSizer( new wxStaticBox( imagesPanel, wxID_ANY, _("Exported") ), wxVERTICAL );
	
	afterWindow = new wxScrolledWindow( imagesPanel, wxID_ANY, wxDefaultPosition, wxSize( 256,256 ), wxHSCROLL|wxVSCROLL );
	afterWindow->SetScrollRate( 8, 8 );
	afterWindow->SetMinSize( wxSize( 256,256 ) );
	afterWindow->SetMaxSize( wxSize( 256,256 ) );
	
	sbSizer2->Add( afterWindow, 1, wxEXPAND | wxALL, 0 );
	
	
	bSizer10->Add( sbSizer2, 0, 0, 0 );
	
	
	bSizer3->Add( bSizer10, 0, 0, 0 );
	
	wxBoxSizer* bSizer14;
	bSizer14 = new wxBoxSizer( wxHORIZONTAL );
	
	previousImage = new wxButton( imagesPanel, wxID_ANY, _("<-"), wxDefaultPosition, wxDefaultSize, 0 );
	previousImage->SetToolTip( _("Previous image in image list.") );
	
	bSizer14->Add( previousImage, 0, wxALL, 5 );
	
	nextImage = new wxButton( imagesPanel, wxID_ANY, _("->"), wxDefaultPosition, wxDefaultSize, 0 );
	nextImage->SetToolTip( _("Next image in image list.") );
	
	bSizer14->Add( nextImage, 0, wxALL, 5 );
	
	
	bSizer3->Add( bSizer14, 0, wxEXPAND, 0 );
	
	wxStaticBoxSizer* sbSizer3;
	sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( imagesPanel, wxID_ANY, _("Palette") ), wxVERTICAL );
	
	currentPalette = new wxStaticBitmap( imagesPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 128,128 ), 0 );
	currentPalette->SetToolTip( _("Palette (Only applicable for Mode4/Mode0)") );
	currentPalette->SetMinSize( wxSize( 128,128 ) );
	currentPalette->SetMaxSize( wxSize( 128,128 ) );
	
	sbSizer3->Add( currentPalette, 0, wxALL, 0 );
	
	
	bSizer3->Add( sbSizer3, 0, 0, 0 );
	
	
	imagesPanel->SetSizer( bSizer3 );
	imagesPanel->Layout();
	bSizer3->Fit( imagesPanel );
	notebook->AddPage( imagesPanel, _("Images"), false );
	codePanel = new wxPanel( notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	codeSizer = new wxBoxSizer( wxVERTICAL );
	
	codeBook = new wxNotebook( codePanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	cCodePanel = new wxPanel( codeBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer16;
	bSizer16 = new wxBoxSizer( wxVERTICAL );
	
	cCode = new wxStyledTextCtrl(cCodePanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0);
	bSizer16->Add( cCode, 1, wxALL|wxEXPAND, 0 );
	
	
	cCodePanel->SetSizer( bSizer16 );
	cCodePanel->Layout();
	bSizer16->Fit( cCodePanel );
	codeBook->AddPage( cCodePanel, _("C Code"), true );
	hCodePanel = new wxPanel( codeBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer17;
	bSizer17 = new wxBoxSizer( wxVERTICAL );
	
	hCode = new wxStyledTextCtrl(hCodePanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0);
	bSizer17->Add( hCode, 1, wxALL|wxEXPAND, 0 );
	
	
	hCodePanel->SetSizer( bSizer17 );
	hCodePanel->Layout();
	bSizer17->Fit( hCodePanel );
	codeBook->AddPage( hCodePanel, _("H Code"), false );
	
	codeSizer->Add( codeBook, 1, wxEXPAND | wxALL, 0 );
	
	
	codePanel->SetSizer( codeSizer );
	codePanel->Layout();
	codeSizer->Fit( codePanel );
	notebook->AddPage( codePanel, _("Code"), false );
	
	bSizer1->Add( notebook, 1, wxEXPAND | wxALL, 0 );
	
	
	this->SetSizer( bSizer1 );
	this->Layout();
	
	this->Centre( wxBOTH );
	
	// Connect Events
	notebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( BrandonFrameGUI::OnChangePage ), NULL, this );
	sourceImages->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( BrandonFrameGUI::OnSelectSource ), NULL, this );
	m_button4->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnSourceFiles ), NULL, this );
	mode->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( BrandonFrameGUI::OnModeChange ), NULL, this );
	colorkey->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnColorKey ), NULL, this );
	command->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnExportCommand ), NULL, this );
	exportImage->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnExport ), NULL, this );
	dither->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnDither ), NULL, this );
	previousImage->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnPreviousImage ), NULL, this );
	nextImage->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BrandonFrameGUI::OnNextImage ), NULL, this );
}
DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
	
	wxBoxSizer* bMainSizer;
	bMainSizer = new wxBoxSizer( wxVERTICAL );
	
	m_DRnotebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_TOP );
	m_panelNetClassesEditor = new wxPanel( m_DRnotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bpanelNetClassesSizer;
	bpanelNetClassesSizer = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizerUpper;
	sbSizerUpper = new wxStaticBoxSizer( new wxStaticBox( m_panelNetClassesEditor, wxID_ANY, _("Net Classes:") ), wxVERTICAL );
	
	m_grid = new wxGrid( sbSizerUpper->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxSIMPLE_BORDER|wxTAB_TRAVERSAL|wxVSCROLL );
	
	// Grid
	m_grid->CreateGrid( 1, 8 );
	m_grid->EnableEditing( true );
	m_grid->EnableGridLines( true );
	m_grid->EnableDragGridSize( false );
	m_grid->SetMargins( 0, 0 );
	
	// Columns
	m_grid->SetColSize( 0, 100 );
	m_grid->SetColSize( 1, 120 );
	m_grid->SetColSize( 2, 84 );
	m_grid->SetColSize( 3, 85 );
	m_grid->SetColSize( 4, 81 );
	m_grid->SetColSize( 5, 90 );
	m_grid->EnableDragColMove( false );
	m_grid->EnableDragColSize( true );
	m_grid->SetColLabelSize( 40 );
	m_grid->SetColLabelValue( 0, _("Clearance") );
	m_grid->SetColLabelValue( 1, _("Track Width") );
	m_grid->SetColLabelValue( 2, _("Via Dia") );
	m_grid->SetColLabelValue( 3, _("Via Drill") );
	m_grid->SetColLabelValue( 4, _("uVia Dia") );
	m_grid->SetColLabelValue( 5, _("uVia Drill") );
	m_grid->SetColLabelValue( 6, _("Diff Pair Width") );
	m_grid->SetColLabelValue( 7, _("Diff Pair Gap") );
	m_grid->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
	
	// Rows
	m_grid->EnableDragRowSize( false );
	m_grid->SetRowLabelSize( 120 );
	m_grid->SetRowLabelValue( 0, _("Default") );
	m_grid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTRE );
	
	// Label Appearance
	
	// Cell Defaults
	m_grid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
	m_grid->SetToolTip( _("Net Class parameters") );
	
	sbSizerUpper->Add( m_grid, 1, wxEXPAND, 5 );
	
	wxBoxSizer* buttonBoxSizer;
	buttonBoxSizer = new wxBoxSizer( wxHORIZONTAL );
	
	m_addButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_ADD_NETCLASS, _("Add"), wxDefaultPosition, wxDefaultSize, 0 );
	m_addButton->SetToolTip( _("Add another Net Class") );
	
	buttonBoxSizer->Add( m_addButton, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
	
	m_removeButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_REMOVE_NETCLASS, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 );
	m_removeButton->SetToolTip( _("Remove the currently select Net Class\nThe default Net Class cannot be removed") );
	
	buttonBoxSizer->Add( m_removeButton, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
	
	m_moveUpButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_ANY, _("Move Up"), wxDefaultPosition, wxDefaultSize, 0 );
	m_moveUpButton->SetToolTip( _("Move the currently selected Net Class up one row") );
	
	buttonBoxSizer->Add( m_moveUpButton, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
	
	
	sbSizerUpper->Add( buttonBoxSizer, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 );
	
	
	bpanelNetClassesSizer->Add( sbSizerUpper, 2, wxEXPAND|wxLEFT|wxRIGHT, 5 );
	
	wxStaticBoxSizer* sbSizerNetSelectMain;
	sbSizerNetSelectMain = new wxStaticBoxSizer( new wxStaticBox( m_panelNetClassesEditor, wxID_ANY, _("Membership:") ), wxHORIZONTAL );
	
	wxBoxSizer* leftNetSelectBoxSizer;
	leftNetSelectBoxSizer = new wxBoxSizer( wxVERTICAL );
	
	m_leftClassChoice = new wxComboBox( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); 
	leftNetSelectBoxSizer->Add( m_leftClassChoice, 0, wxEXPAND, 5 );
	
	m_leftListCtrl = new NETS_LIST_CTRL( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VIRTUAL|wxLC_VRULES|wxSUNKEN_BORDER );
	leftNetSelectBoxSizer->Add( m_leftListCtrl, 1, wxEXPAND|wxTOP, 5 );
	
	
	sbSizerNetSelectMain->Add( leftNetSelectBoxSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
	
	wxBoxSizer* bmiddleSizerNetSelect;
	bmiddleSizerNetSelect = new wxBoxSizer( wxVERTICAL );
	
	m_buttonRightToLeft = new wxButton( sbSizerNetSelectMain->GetStaticBox(), ID_LEFT_TO_RIGHT_COPY, _("<<<"), wxDefaultPosition, wxDefaultSize, 0 );
	m_buttonRightToLeft->SetToolTip( _("Move the selected nets in the right list to the left list") );
	
	bmiddleSizerNetSelect->Add( m_buttonRightToLeft, 0, wxALL, 5 );
	
	m_buttonLeftToRight = new wxButton( sbSizerNetSelectMain->GetStaticBox(), ID_RIGHT_TO_LEFT_COPY, _(">>>"), wxDefaultPosition, wxDefaultSize, 0 );
	m_buttonLeftToRight->SetToolTip( _("Move the selected nets in the left list to the right list") );
	
	bmiddleSizerNetSelect->Add( m_buttonLeftToRight, 0, wxALL, 5 );
	
	m_buttonLeftSelAll = new wxButton( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, _("<< Select All"), wxDefaultPosition, wxDefaultSize, 0 );
	m_buttonLeftSelAll->SetToolTip( _("Select all nets in the left list") );
	
	bmiddleSizerNetSelect->Add( m_buttonLeftSelAll, 0, wxALL, 5 );
	
	m_buttonRightSelAll = new wxButton( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, _("Select All >>"), wxDefaultPosition, wxDefaultSize, 0 );
	m_buttonRightSelAll->SetToolTip( _("Select all nets in the right list") );
	
	bmiddleSizerNetSelect->Add( m_buttonRightSelAll, 0, wxALL, 5 );
	
	
	sbSizerNetSelectMain->Add( bmiddleSizerNetSelect, 0, wxALIGN_CENTER_VERTICAL, 5 );
	
	wxBoxSizer* rghtNetSelectBoxSizer;
	rghtNetSelectBoxSizer = new wxBoxSizer( wxVERTICAL );
	
	m_rightClassChoice = new wxComboBox( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); 
	rghtNetSelectBoxSizer->Add( m_rightClassChoice, 0, wxEXPAND, 5 );
	
	m_rightListCtrl = new NETS_LIST_CTRL( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VIRTUAL|wxLC_VRULES|wxSUNKEN_BORDER );
	rghtNetSelectBoxSizer->Add( m_rightListCtrl, 1, wxEXPAND|wxTOP, 5 );
	
	
	sbSizerNetSelectMain->Add( rghtNetSelectBoxSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
	
	
	bpanelNetClassesSizer->Add( sbSizerNetSelectMain, 3, wxEXPAND|wxRIGHT|wxLEFT, 5 );
	
	
	m_panelNetClassesEditor->SetSizer( bpanelNetClassesSizer );
	m_panelNetClassesEditor->Layout();
	bpanelNetClassesSizer->Fit( m_panelNetClassesEditor );
	m_DRnotebook->AddPage( m_panelNetClassesEditor, _("Net Classes Editor"), true );
	m_panelGolbalDesignRules = new wxPanel( m_DRnotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bpanelGlobRulesSizer;
	bpanelGlobRulesSizer = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bDesignRulesUpperSizer;
	bDesignRulesUpperSizer = new wxBoxSizer( wxHORIZONTAL );
	
	wxStaticBoxSizer* sbViasOptionSizer;
	sbViasOptionSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Via Options:") ), wxVERTICAL );
	
	wxString m_OptViaTypeChoices[] = { _("Do not allow blind/buried vias"), _("Allow blind/buried vias") };
	int m_OptViaTypeNChoices = sizeof( m_OptViaTypeChoices ) / sizeof( wxString );
	m_OptViaType = new wxRadioBox( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Blind/buried Vias:"), wxDefaultPosition, wxDefaultSize, m_OptViaTypeNChoices, m_OptViaTypeChoices, 1, wxRA_SPECIFY_COLS );
	m_OptViaType->SetSelection( 0 );
	m_OptViaType->SetToolTip( _("Allows or not blind/buried vias.\nDo not allow is the usual selection.\nNote: micro vias are a special type of blind vias and are not managed here") );
	
	sbViasOptionSizer->Add( m_OptViaType, 0, wxALL|wxEXPAND, 5 );
	
	wxString m_AllowMicroViaCtrlChoices[] = { _("Do not allow micro vias"), _("Allow micro vias") };
	int m_AllowMicroViaCtrlNChoices = sizeof( m_AllowMicroViaCtrlChoices ) / sizeof( wxString );
	m_AllowMicroViaCtrl = new wxRadioBox( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Micro Vias:"), wxDefaultPosition, wxDefaultSize, m_AllowMicroViaCtrlNChoices, m_AllowMicroViaCtrlChoices, 1, wxRA_SPECIFY_COLS );
	m_AllowMicroViaCtrl->SetSelection( 0 );
	m_AllowMicroViaCtrl->SetToolTip( _("Allows or do not allow use of micro vias\nThey are very small vias only from an external copper layer to its near neightbour") );
	
	sbViasOptionSizer->Add( m_AllowMicroViaCtrl, 0, wxALL|wxEXPAND, 5 );
	
	
	bDesignRulesUpperSizer->Add( sbViasOptionSizer, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
	
	wxStaticBoxSizer* sbMinSizesSizer;
	sbMinSizesSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Minimum Allowed Values:") ), wxVERTICAL );
	
	wxFlexGridSizer* fgMinValuesSizer;
	fgMinValuesSizer = new wxFlexGridSizer( 5, 2, 0, 0 );
	fgMinValuesSizer->AddGrowableCol( 1 );
	fgMinValuesSizer->SetFlexibleDirection( wxBOTH );
	fgMinValuesSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_TrackMinWidthTitle = new wxStaticText( sbMinSizesSizer->GetStaticBox(), wxID_ANY, _("Min track width"), wxDefaultPosition, wxDefaultSize, 0 );
	m_TrackMinWidthTitle->Wrap( -1 );
	fgMinValuesSizer->Add( m_TrackMinWidthTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
	
	m_SetTrackMinWidthCtrl = new wxTextCtrl( sbMinSizesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_SetTrackMinWidthCtrl->SetMaxLength( 0 ); 
	fgMinValuesSizer->Add( m_SetTrackMinWidthCtrl, 0, wxALL|wxEXPAND, 5 );
	
	m_ViaMinTitle = new wxStaticText( sbMinSizesSizer->GetStaticBox(), wxID_ANY, _("Min via diameter"), wxDefaultPosition, wxDefaultSize, 0 );
	m_ViaMinTitle->Wrap( -1 );
	fgMinValuesSizer->Add( m_ViaMinTitle, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
	
	m_SetViasMinSizeCtrl = new wxTextCtrl( sbMinSizesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_SetViasMinSizeCtrl->SetMaxLength( 0 ); 
	fgMinValuesSizer->Add( m_SetViasMinSizeCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
	
	m_ViaMinDrillTitle = new wxStaticText( sbMinSizesSizer->GetStaticBox(), wxID_ANY, _("Min via drill dia"), wxDefaultPosition, wxDefaultSize, 0 );
	m_ViaMinDrillTitle->Wrap( -1 );
	fgMinValuesSizer->Add( m_ViaMinDrillTitle, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_RIGHT, 5 );
	
	m_SetViasMinDrillCtrl = new wxTextCtrl( sbMinSizesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_SetViasMinDrillCtrl->SetMaxLength( 0 ); 
	fgMinValuesSizer->Add( m_SetViasMinDrillCtrl, 0, wxALL|wxEXPAND, 5 );
	
	m_MicroViaMinSizeTitle = new wxStaticText( sbMinSizesSizer->GetStaticBox(), wxID_ANY, _("Min uvia diameter"), wxDefaultPosition, wxDefaultSize, 0 );
	m_MicroViaMinSizeTitle->Wrap( -1 );
	fgMinValuesSizer->Add( m_MicroViaMinSizeTitle, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
	
	m_SetMicroViasMinSizeCtrl = new wxTextCtrl( sbMinSizesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_SetMicroViasMinSizeCtrl->SetMaxLength( 6 ); 
	fgMinValuesSizer->Add( m_SetMicroViasMinSizeCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
	
	m_MicroViaMinDrillTitle = new wxStaticText( sbMinSizesSizer->GetStaticBox(), wxID_ANY, _("Min uvia drill dia"), wxDefaultPosition, wxDefaultSize, 0 );
	m_MicroViaMinDrillTitle->Wrap( -1 );
	fgMinValuesSizer->Add( m_MicroViaMinDrillTitle, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
	
	m_SetMicroViasMinDrillCtrl = new wxTextCtrl( sbMinSizesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_SetMicroViasMinDrillCtrl->SetMaxLength( 6 ); 
	fgMinValuesSizer->Add( m_SetMicroViasMinDrillCtrl, 0, wxEXPAND|wxALL, 5 );
	
	
	sbMinSizesSizer->Add( fgMinValuesSizer, 1, wxEXPAND, 5 );
	
	
	bDesignRulesUpperSizer->Add( sbMinSizesSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
	
	
	bpanelGlobRulesSizer->Add( bDesignRulesUpperSizer, 0, wxEXPAND, 5 );
	
	m_staticline1 = new wxStaticLine( m_panelGolbalDesignRules, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	bpanelGlobRulesSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
	
	m_staticTextInfo = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Specific via diameters and track widths, which \ncan be used to replace default Netclass values \non demand, for arbitrary vias or track segments."), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextInfo->Wrap( -1 );
	bpanelGlobRulesSizer->Add( m_staticTextInfo, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	wxBoxSizer* bDesignRulesLowerSizer;
	bDesignRulesLowerSizer = new wxBoxSizer( wxHORIZONTAL );
	
	wxStaticBoxSizer* sViaSizeBox;
	sViaSizeBox = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Custom Via Sizes:") ), wxVERTICAL );
	
	m_staticText7 = new wxStaticText( sViaSizeBox->GetStaticBox(), wxID_ANY, _("Drill value: a blank or 0 => default Netclass value"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText7->Wrap( -1 );
	sViaSizeBox->Add( m_staticText7, 0, wxALL, 5 );
	
	m_gridViaSizeList = new wxGrid( sViaSizeBox->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	
	// Grid
	m_gridViaSizeList->CreateGrid( 8, 2 );
	m_gridViaSizeList->EnableEditing( true );
	m_gridViaSizeList->EnableGridLines( true );
	m_gridViaSizeList->EnableDragGridSize( false );
	m_gridViaSizeList->SetMargins( 0, 0 );
	
	// Columns
	m_gridViaSizeList->EnableDragColMove( false );
	m_gridViaSizeList->EnableDragColSize( true );
	m_gridViaSizeList->SetColLabelSize( 30 );
	m_gridViaSizeList->SetColLabelValue( 0, _("Diameter") );
	m_gridViaSizeList->SetColLabelValue( 1, _("Drill") );
	m_gridViaSizeList->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
	
	// Rows
	m_gridViaSizeList->EnableDragRowSize( true );
	m_gridViaSizeList->SetRowLabelSize( 80 );
	m_gridViaSizeList->SetRowLabelValue( 0, _("Via 1") );
	m_gridViaSizeList->SetRowLabelValue( 1, _("Via 2") );
	m_gridViaSizeList->SetRowLabelValue( 2, _("Via 3") );
	m_gridViaSizeList->SetRowLabelValue( 3, _("Via 4") );
	m_gridViaSizeList->SetRowLabelValue( 4, _("Via 5") );
	m_gridViaSizeList->SetRowLabelValue( 5, _("Via 6") );
	m_gridViaSizeList->SetRowLabelValue( 6, _("Via 7") );
	m_gridViaSizeList->SetRowLabelValue( 7, _("Via 8") );
	m_gridViaSizeList->SetRowLabelValue( 8, _("Via 9") );
	m_gridViaSizeList->SetRowLabelValue( 9, _("Via 10") );
	m_gridViaSizeList->SetRowLabelValue( 10, _("Via 11") );
	m_gridViaSizeList->SetRowLabelValue( 11, _("Via 12") );
	m_gridViaSizeList->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
	
	// Label Appearance
	
	// Cell Defaults
	m_gridViaSizeList->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
	sViaSizeBox->Add( m_gridViaSizeList, 1, wxALL|wxEXPAND, 5 );
	
	
	bDesignRulesLowerSizer->Add( sViaSizeBox, 1, wxALL|wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbTracksListSizer;
	sbTracksListSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Custom Track Widths:") ), wxVERTICAL );
	
	m_staticText8 = new wxStaticText( sbTracksListSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText8->Wrap( -1 );
	sbTracksListSizer->Add( m_staticText8, 0, wxALL, 5 );
	
	m_gridTrackWidthList = new wxGrid( sbTracksListSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	
	// Grid
	m_gridTrackWidthList->CreateGrid( 8, 1 );
	m_gridTrackWidthList->EnableEditing( true );
	m_gridTrackWidthList->EnableGridLines( true );
	m_gridTrackWidthList->EnableDragGridSize( false );
	m_gridTrackWidthList->SetMargins( 0, 0 );
	
	// Columns
	m_gridTrackWidthList->EnableDragColMove( false );
	m_gridTrackWidthList->EnableDragColSize( true );
	m_gridTrackWidthList->SetColLabelSize( 30 );
	m_gridTrackWidthList->SetColLabelValue( 0, _("Width") );
	m_gridTrackWidthList->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
	
	// Rows
	m_gridTrackWidthList->EnableDragRowSize( true );
	m_gridTrackWidthList->SetRowLabelSize( 80 );
	m_gridTrackWidthList->SetRowLabelValue( 0, _("Track 1") );
	m_gridTrackWidthList->SetRowLabelValue( 1, _("Track 2") );
	m_gridTrackWidthList->SetRowLabelValue( 2, _("Track 3") );
	m_gridTrackWidthList->SetRowLabelValue( 3, _("Track 4") );
	m_gridTrackWidthList->SetRowLabelValue( 4, _("Track 5") );
	m_gridTrackWidthList->SetRowLabelValue( 5, _("Track 6") );
	m_gridTrackWidthList->SetRowLabelValue( 6, _("Track 7") );
	m_gridTrackWidthList->SetRowLabelValue( 7, _("Track 8") );
	m_gridTrackWidthList->SetRowLabelValue( 8, _("Track 9") );
	m_gridTrackWidthList->SetRowLabelValue( 9, _("Track 10") );
	m_gridTrackWidthList->SetRowLabelValue( 10, _("Track 11") );
	m_gridTrackWidthList->SetRowLabelValue( 11, _("Track 12") );
	m_gridTrackWidthList->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
	
	// Label Appearance
	
	// Cell Defaults
	m_gridTrackWidthList->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
	sbTracksListSizer->Add( m_gridTrackWidthList, 1, wxALL|wxEXPAND, 5 );
	
	
	bDesignRulesLowerSizer->Add( sbTracksListSizer, 1, wxALL|wxEXPAND, 5 );
	
	
	bpanelGlobRulesSizer->Add( bDesignRulesLowerSizer, 0, wxEXPAND, 5 );
	
	
	m_panelGolbalDesignRules->SetSizer( bpanelGlobRulesSizer );
	m_panelGolbalDesignRules->Layout();
	bpanelGlobRulesSizer->Fit( m_panelGolbalDesignRules );
	m_DRnotebook->AddPage( m_panelGolbalDesignRules, _("Global Design Rules"), false );
	
	bMainSizer->Add( m_DRnotebook, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
	
	m_sdbSizer1 = new wxStdDialogButtonSizer();
	m_sdbSizer1OK = new wxButton( this, wxID_OK );
	m_sdbSizer1->AddButton( m_sdbSizer1OK );
	m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
	m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
	m_sdbSizer1->Realize();
	
	bMainSizer->Add( m_sdbSizer1, 0, wxALL|wxEXPAND, 5 );
	
	
	this->SetSizer( bMainSizer );
	this->Layout();
	bMainSizer->Fit( this );
	
	// Connect Events
	m_DRnotebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DIALOG_DESIGN_RULES_BASE::OnNotebookPageChanged ), NULL, this );
	m_grid->Connect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameLeftClick ), NULL, this );
	m_grid->Connect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameRightClick ), NULL, this );
	m_addButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAddNetclassClick ), NULL, this );
	m_removeButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRemoveNetclassClick ), NULL, this );
	m_moveUpButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnMoveUpSelectedNetClass ), NULL, this );
	m_leftClassChoice->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftCBSelection ), NULL, this );
	m_buttonRightToLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightToLeftCopyButton ), NULL, this );
	m_buttonLeftToRight->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftToRightCopyButton ), NULL, this );
	m_buttonLeftSelAll->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftSelectAllButton ), NULL, this );
	m_buttonRightSelAll->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightSelectAllButton ), NULL, this );
	m_rightClassChoice->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightCBSelection ), NULL, this );
}
PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name )
{
	wxBoxSizer* bSizerpanel;
	bSizerpanel = new wxBoxSizer( wxVERTICAL );

	m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	m_swItemProperties = new wxScrolledWindow( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxTAB_TRAVERSAL|wxVSCROLL );
	m_swItemProperties->SetScrollRate( 5, 5 );
	m_SizerItemProperties = new wxBoxSizer( wxVERTICAL );

	wxBoxSizer* bSizerButt;
	bSizerButt = new wxBoxSizer( wxHORIZONTAL );

	m_staticTextType = new wxStaticText( m_swItemProperties, wxID_ANY, _("Type"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextType->Wrap( -1 );
	m_staticTextType->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );

	bSizerButt->Add( m_staticTextType, 1, wxLEFT|wxRIGHT, 5 );

	wxString m_choicePageOptChoices[] = { _("Show on all pages"), _("First page only"), _("Subsequent pages only") };
	int m_choicePageOptNChoices = sizeof( m_choicePageOptChoices ) / sizeof( wxString );
	m_choicePageOpt = new wxChoice( m_swItemProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choicePageOptNChoices, m_choicePageOptChoices, 0 );
	m_choicePageOpt->SetSelection( 2 );
	bSizerButt->Add( m_choicePageOpt, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );


	m_SizerItemProperties->Add( bSizerButt, 0, wxEXPAND|wxTOP, 5 );

	m_staticline5 = new wxStaticLine( m_swItemProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	m_SizerItemProperties->Add( m_staticline5, 0, wxTOP|wxRIGHT|wxLEFT|wxEXPAND, 5 );

	m_SizerTextOptions = new wxBoxSizer( wxVERTICAL );

	m_staticTextText = new wxStaticText( m_swItemProperties, wxID_ANY, _("Text:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextText->Wrap( -1 );
	m_SizerTextOptions->Add( m_staticTextText, 0, wxTOP|wxRIGHT|wxLEFT, 5 );

	m_textCtrlText = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
	m_SizerTextOptions->Add( m_textCtrlText, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );

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

	wxFlexGridSizer* fgSizer1;
	fgSizer1 = new wxFlexGridSizer( 0, 4, 0, 0 );
	fgSizer1->SetFlexibleDirection( wxBOTH );
	fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );

	m_staticTextHjust = new wxStaticText( m_swItemProperties, wxID_ANY, _("H align:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextHjust->Wrap( -1 );
	fgSizer1->Add( m_staticTextHjust, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );

	wxString m_choiceHjustifyChoices[] = { _("Left"), _("Center"), _("Right") };
	int m_choiceHjustifyNChoices = sizeof( m_choiceHjustifyChoices ) / sizeof( wxString );
	m_choiceHjustify = new wxChoice( m_swItemProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceHjustifyNChoices, m_choiceHjustifyChoices, 0 );
	m_choiceHjustify->SetSelection( 0 );
	fgSizer1->Add( m_choiceHjustify, 0, wxEXPAND|wxALL|wxALIGN_CENTER_VERTICAL, 5 );


	fgSizer1->Add( 0, 0, 1, wxEXPAND|wxRIGHT|wxLEFT, 10 );

	m_checkBoxBold = new wxCheckBox( m_swItemProperties, wxID_ANY, _("Bold"), wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer1->Add( m_checkBoxBold, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );

	m_staticTextVjust = new wxStaticText( m_swItemProperties, wxID_ANY, _("V align:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextVjust->Wrap( -1 );
	fgSizer1->Add( m_staticTextVjust, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );

	wxString m_choiceVjustifyChoices[] = { _("Top"), _("Center"), _("Bottom") };
	int m_choiceVjustifyNChoices = sizeof( m_choiceVjustifyChoices ) / sizeof( wxString );
	m_choiceVjustify = new wxChoice( m_swItemProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceVjustifyNChoices, m_choiceVjustifyChoices, 0 );
	m_choiceVjustify->SetSelection( 1 );
	fgSizer1->Add( m_choiceVjustify, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );


	fgSizer1->Add( 0, 0, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );

	m_checkBoxItalic = new wxCheckBox( m_swItemProperties, wxID_ANY, _("Italic"), wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer1->Add( m_checkBoxItalic, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );


	bSizerFontOpt->Add( fgSizer1, 0, wxEXPAND, 5 );


	m_SizerTextOptions->Add( bSizerFontOpt, 0, wxEXPAND|wxBOTTOM, 2 );

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

	m_staticTexTsizeX = new wxStaticText( m_swItemProperties, wxID_ANY, _("Text width:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTexTsizeX->Wrap( -1 );
	fgSizer2->Add( m_staticTexTsizeX, 0, wxRIGHT|wxLEFT, 5 );


	fgSizer2->Add( 0, 0, 0, wxEXPAND, 5 );


	fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 );

	m_staticTextTsizeY = new wxStaticText( m_swItemProperties, wxID_ANY, _("Text height:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextTsizeY->Wrap( -1 );
	fgSizer2->Add( m_staticTextTsizeY, 0, wxRIGHT|wxLEFT, 5 );


	fgSizer2->Add( 0, 0, 0, wxEXPAND, 5 );

	m_textCtrlTextSizeX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer2->Add( m_textCtrlTextSizeX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );

	m_units1 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units1->Wrap( -1 );
	fgSizer2->Add( m_units1, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM, 5 );


	fgSizer2->Add( 0, 0, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );

	m_textCtrlTextSizeY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer2->Add( m_textCtrlTextSizeY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );

	m_units11 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units11->Wrap( -1 );
	fgSizer2->Add( m_units11, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 );

	m_staticTextConstraintX = new wxStaticText( m_swItemProperties, wxID_ANY, _("Maximum width:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextConstraintX->Wrap( -1 );
	m_staticTextConstraintX->SetToolTip( _("Set to 0 to disable this constraint") );

	fgSizer2->Add( m_staticTextConstraintX, 0, wxRIGHT|wxLEFT, 5 );


	fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 );


	fgSizer2->Add( 0, 0, 0, wxEXPAND, 5 );

	m_staticTextConstraintY = new wxStaticText( m_swItemProperties, wxID_ANY, _("Maximum height:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextConstraintY->Wrap( -1 );
	m_staticTextConstraintY->SetToolTip( _("Set to 0 to disable this constraint") );

	fgSizer2->Add( m_staticTextConstraintY, 0, wxRIGHT|wxLEFT, 5 );


	fgSizer2->Add( 0, 0, 0, wxEXPAND, 5 );

	m_textCtrlConstraintX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer2->Add( m_textCtrlConstraintX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );

	m_units111 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units111->Wrap( -1 );
	fgSizer2->Add( m_units111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM, 5 );


	fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 );

	m_textCtrlConstraintY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer2->Add( m_textCtrlConstraintY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );

	m_units1111 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units1111->Wrap( -1 );
	fgSizer2->Add( m_units1111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 );


	m_SizerTextOptions->Add( fgSizer2, 0, wxEXPAND, 5 );

	m_staticTextSizeInfo = new wxStaticText( m_swItemProperties, wxID_ANY, _("Set to 0 to use default values"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextSizeInfo->Wrap( -1 );
	m_SizerTextOptions->Add( m_staticTextSizeInfo, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );

	m_staticline6 = new wxStaticLine( m_swItemProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	m_SizerTextOptions->Add( m_staticline6, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );


	m_SizerItemProperties->Add( m_SizerTextOptions, 1, wxEXPAND, 5 );

	m_staticTextComment = new wxStaticText( m_swItemProperties, wxID_ANY, _("Comment:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextComment->Wrap( -1 );
	m_SizerItemProperties->Add( m_staticTextComment, 0, wxRIGHT|wxLEFT, 5 );

	m_textCtrlComment = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_SizerItemProperties->Add( m_textCtrlComment, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );

	m_staticline2 = new wxStaticLine( m_swItemProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	m_SizerItemProperties->Add( m_staticline2, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 );

	wxBoxSizer* bSizerPos;
	bSizerPos = new wxBoxSizer( wxHORIZONTAL );

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

	m_staticTextPosX = new wxStaticText( m_swItemProperties, wxID_ANY, _("X:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextPosX->Wrap( -1 );
	fgSizer3->Add( m_staticTextPosX, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );

	m_textCtrlPosX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer3->Add( m_textCtrlPosX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );

	m_units12 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units12->Wrap( -1 );
	fgSizer3->Add( m_units12, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM, 5 );

	m_staticTextPosY = new wxStaticText( m_swItemProperties, wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextPosY->Wrap( -1 );
	fgSizer3->Add( m_staticTextPosY, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );

	m_textCtrlPosY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer3->Add( m_textCtrlPosY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );

	m_units121 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units121->Wrap( -1 );
	fgSizer3->Add( m_units121, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM, 5 );


	bSizerPos->Add( fgSizer3, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );

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

	m_staticTextOrgPos = new wxStaticText( m_swItemProperties, wxID_ANY, _("From:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextOrgPos->Wrap( -1 );
	bSizer6->Add( m_staticTextOrgPos, 0, wxTOP|wxRIGHT|wxLEFT, 5 );

	m_comboBoxCornerPos = new wxComboBox( m_swItemProperties, wxID_ANY, _("Lower Right"), wxDefaultPosition, wxSize( -1,-1 ), 0, NULL, 0 );
	m_comboBoxCornerPos->Append( _("Upper Right") );
	m_comboBoxCornerPos->Append( _("Upper Left") );
	m_comboBoxCornerPos->Append( _("Lower Right") );
	m_comboBoxCornerPos->Append( _("Lower Left") );
	m_comboBoxCornerPos->SetSelection( 2 );
	m_comboBoxCornerPos->SetMinSize( wxSize( 132,-1 ) );

	bSizer6->Add( m_comboBoxCornerPos, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );


	bSizerPos->Add( bSizer6, 0, wxALIGN_CENTER_VERTICAL, 5 );


	m_SizerItemProperties->Add( bSizerPos, 0, wxEXPAND, 5 );

	m_SizerEndPosition = new wxBoxSizer( wxHORIZONTAL );

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

	m_staticTextEndX = new wxStaticText( m_swItemProperties, wxID_ANY, _("X:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextEndX->Wrap( -1 );
	fgSizer4->Add( m_staticTextEndX, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );

	m_textCtrlEndX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer4->Add( m_textCtrlEndX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );

	m_units1211 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units1211->Wrap( -1 );
	fgSizer4->Add( m_units1211, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM, 5 );

	m_staticTextEndY = new wxStaticText( m_swItemProperties, wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextEndY->Wrap( -1 );
	fgSizer4->Add( m_staticTextEndY, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );

	m_textCtrlEndY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer4->Add( m_textCtrlEndY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );

	m_units12111 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units12111->Wrap( -1 );
	fgSizer4->Add( m_units12111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM, 5 );


	m_SizerEndPosition->Add( fgSizer4, 0, wxEXPAND|wxRIGHT, 5 );

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

	m_staticTextOrgEnd = new wxStaticText( m_swItemProperties, wxID_ANY, _("From:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextOrgEnd->Wrap( -1 );
	bSizer61->Add( m_staticTextOrgEnd, 0, wxTOP|wxRIGHT|wxLEFT, 5 );

	m_comboBoxCornerEnd = new wxComboBox( m_swItemProperties, wxID_ANY, _("Lower Left"), wxDefaultPosition, wxSize( -1,-1 ), 0, NULL, 0 );
	m_comboBoxCornerEnd->Append( _("Upper Right") );
	m_comboBoxCornerEnd->Append( _("Upper Left") );
	m_comboBoxCornerEnd->Append( _("Lower Right") );
	m_comboBoxCornerEnd->Append( _("Lower Left") );
	m_comboBoxCornerEnd->SetSelection( 3 );
	m_comboBoxCornerEnd->SetMinSize( wxSize( 132,-1 ) );

	bSizer61->Add( m_comboBoxCornerEnd, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );


	m_SizerEndPosition->Add( bSizer61, 0, wxALIGN_CENTER_VERTICAL, 5 );


	m_SizerItemProperties->Add( m_SizerEndPosition, 0, wxTOP|wxBOTTOM|wxEXPAND, 5 );

	m_SizerLineThickness = new wxBoxSizer( wxHORIZONTAL );

	m_staticTextThickness = new wxStaticText( m_swItemProperties, wxID_ANY, _("Line width:"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
	m_staticTextThickness->Wrap( -1 );
	m_SizerLineThickness->Add( m_staticTextThickness, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );

	m_textCtrlThickness = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_SizerLineThickness->Add( m_textCtrlThickness, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );

	m_staticTextInfoThickness = new wxStaticText( m_swItemProperties, wxID_ANY, _("Set to 0 for default"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextInfoThickness->Wrap( -1 );
	m_SizerLineThickness->Add( m_staticTextInfoThickness, 0, wxALIGN_CENTER|wxBOTTOM|wxRIGHT|wxLEFT, 5 );


	m_SizerItemProperties->Add( m_SizerLineThickness, 0, 0, 5 );

	m_SizerRotation = new wxBoxSizer( wxVERTICAL );

	wxFlexGridSizer* fgSizerRotation;
	fgSizerRotation = new wxFlexGridSizer( 0, 2, 0, 0 );
	fgSizerRotation->SetFlexibleDirection( wxBOTH );
	fgSizerRotation->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );

	m_staticTextRot = new wxStaticText( m_swItemProperties, wxID_ANY, _("Rotation:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextRot->Wrap( -1 );
	fgSizerRotation->Add( m_staticTextRot, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );

	m_textCtrlRotation = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizerRotation->Add( m_textCtrlRotation, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );


	m_SizerRotation->Add( fgSizerRotation, 0, wxEXPAND, 5 );


	m_SizerItemProperties->Add( m_SizerRotation, 0, wxEXPAND, 5 );

	m_SizerPPI = new wxBoxSizer( wxVERTICAL );

	wxFlexGridSizer* fgSizerPPI;
	fgSizerPPI = new wxFlexGridSizer( 0, 2, 0, 0 );
	fgSizerPPI->SetFlexibleDirection( wxBOTH );
	fgSizerPPI->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );

	m_staticTextBitmapPPI1 = new wxStaticText( m_swItemProperties, wxID_ANY, _("Bitmap DPI:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextBitmapPPI1->Wrap( -1 );
	fgSizerPPI->Add( m_staticTextBitmapPPI1, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );

	m_textCtrlBitmapPPI = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizerPPI->Add( m_textCtrlBitmapPPI, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );


	m_SizerPPI->Add( fgSizerPPI, 0, wxEXPAND, 5 );


	m_SizerItemProperties->Add( m_SizerPPI, 0, wxEXPAND, 5 );

	m_staticline111 = new wxStaticLine( m_swItemProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	m_SizerItemProperties->Add( m_staticline111, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );

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

	m_staticTextRepeatCnt = new wxStaticText( m_swItemProperties, wxID_ANY, _("Repeat count:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextRepeatCnt->Wrap( -1 );
	fgSizer8->Add( m_staticTextRepeatCnt, 0, wxTOP|wxRIGHT|wxLEFT, 5 );


	fgSizer8->Add( 0, 0, 0, wxEXPAND, 5 );


	fgSizer8->Add( 0, 0, 1, wxEXPAND, 5 );

	m_staticTextInclabel = new wxStaticText( m_swItemProperties, wxID_ANY, _("Step text:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextInclabel->Wrap( -1 );
	fgSizer8->Add( m_staticTextInclabel, 0, wxTOP|wxRIGHT|wxLEFT, 5 );


	fgSizer8->Add( 0, 0, 0, wxEXPAND, 5 );

	m_textCtrlRepeatCount = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer8->Add( m_textCtrlRepeatCount, 0, wxEXPAND|wxLEFT, 5 );


	fgSizer8->Add( 0, 0, 0, wxEXPAND, 5 );


	fgSizer8->Add( 0, 0, 1, wxEXPAND, 5 );

	m_textCtrlTextIncrement = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer8->Add( m_textCtrlTextIncrement, 0, wxEXPAND|wxLEFT, 5 );


	fgSizer8->Add( 0, 0, 0, wxEXPAND, 5 );

	m_staticTextStepX = new wxStaticText( m_swItemProperties, wxID_ANY, _("Step X:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextStepX->Wrap( -1 );
	fgSizer8->Add( m_staticTextStepX, 0, wxTOP|wxRIGHT|wxLEFT, 5 );


	fgSizer8->Add( 0, 0, 0, wxEXPAND, 5 );


	fgSizer8->Add( 0, 0, 1, wxEXPAND, 5 );

	m_staticTextStepY = new wxStaticText( m_swItemProperties, wxID_ANY, _("Step Y:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextStepY->Wrap( -1 );
	fgSizer8->Add( m_staticTextStepY, 0, wxTOP|wxRIGHT|wxLEFT, 5 );


	fgSizer8->Add( 0, 0, 0, wxEXPAND, 5 );

	m_textCtrlStepX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), 0 );
	fgSizer8->Add( m_textCtrlStepX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );

	m_units121111 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units121111->Wrap( -1 );
	fgSizer8->Add( m_units121111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 );


	fgSizer8->Add( 0, 0, 1, wxEXPAND|wxLEFT, 5 );

	m_textCtrlStepY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer8->Add( m_textCtrlStepY, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );

	m_units1211111 = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units1211111->Wrap( -1 );
	fgSizer8->Add( m_units1211111, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 );


	m_SizerItemProperties->Add( fgSizer8, 0, wxEXPAND, 5 );

	m_staticline8 = new wxStaticLine( m_swItemProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	m_SizerItemProperties->Add( m_staticline8, 0, wxEXPAND|wxALL, 5 );

	m_buttonOK = new wxButton( m_swItemProperties, wxID_ANY, _("Apply"), wxDefaultPosition, wxDefaultSize, 0 );

	m_buttonOK->SetDefault();
	m_SizerItemProperties->Add( m_buttonOK, 0, wxALL|wxEXPAND, 5 );


	m_swItemProperties->SetSizer( m_SizerItemProperties );
	m_swItemProperties->Layout();
	m_SizerItemProperties->Fit( m_swItemProperties );
	m_notebook->AddPage( m_swItemProperties, _("Item Properties"), true );
	m_swGeneralOpts = new wxScrolledWindow( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxTAB_TRAVERSAL|wxVSCROLL );
	m_swGeneralOpts->SetScrollRate( 5, 5 );
	wxBoxSizer* bSizerGeneralOpts;
	bSizerGeneralOpts = new wxBoxSizer( wxVERTICAL );

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

	m_staticTextDefVal = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("Default Values:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextDefVal->Wrap( -1 );
	bSizerGeneralOpts1->Add( m_staticTextDefVal, 0, wxALL, 5 );

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

	m_staticTextDefTsX = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("Text width:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextDefTsX->Wrap( -1 );
	fgSizer5->Add( m_staticTextDefTsX, 0, wxTOP|wxRIGHT|wxLEFT, 5 );


	fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );


	fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );

	m_staticTextDefTsY = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("Text height:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextDefTsY->Wrap( -1 );
	fgSizer5->Add( m_staticTextDefTsY, 0, wxTOP|wxRIGHT|wxLEFT, 5 );


	fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );

	m_textCtrlDefaultTextSizeX = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer5->Add( m_textCtrlDefaultTextSizeX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );

	m_units14 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units14->Wrap( -1 );
	fgSizer5->Add( m_units14, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 );


	fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );

	m_textCtrlDefaultTextSizeY = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer5->Add( m_textCtrlDefaultTextSizeY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );

	m_units141 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units141->Wrap( -1 );
	fgSizer5->Add( m_units141, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 );

	m_staticTextDefLineW = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("Line thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextDefLineW->Wrap( -1 );
	fgSizer5->Add( m_staticTextDefLineW, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );


	fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );


	fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );

	m_staticText22 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("Text thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText22->Wrap( -1 );
	fgSizer5->Add( m_staticText22, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );


	fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );

	m_textCtrlDefaultLineWidth = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer5->Add( m_textCtrlDefaultLineWidth, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );

	m_staticText221 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText221->Wrap( -1 );
	fgSizer5->Add( m_staticText221, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 );


	fgSizer5->Add( 0, 0, 1, wxEXPAND|wxRIGHT, 5 );

	m_textCtrlDefaultTextThickness = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer5->Add( m_textCtrlDefaultTextThickness, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );

	m_staticText2211 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText2211->Wrap( -1 );
	fgSizer5->Add( m_staticText2211, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );


	fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );


	bSizerGeneralOpts1->Add( fgSizer5, 1, wxEXPAND, 5 );


	bSizerGeneralOpts->Add( bSizerGeneralOpts1, 0, wxEXPAND, 5 );

	m_buttonDefault = new wxButton( m_swGeneralOpts, wxID_ANY, _("Set to Default"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizerGeneralOpts->Add( m_buttonDefault, 0, wxALL|wxEXPAND, 5 );

	m_staticline9 = new wxStaticLine( m_swGeneralOpts, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	bSizerGeneralOpts->Add( m_staticline9, 0, wxALL, 5 );

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

	m_staticTextMargins = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("Page Margins:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextMargins->Wrap( -1 );
	bSizerGeneraMargins->Add( m_staticTextMargins, 0, wxALL, 5 );

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

	m_staticTextLeftMargin = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("Left:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextLeftMargin->Wrap( -1 );
	fgSizer6->Add( m_staticTextLeftMargin, 0, wxTOP|wxRIGHT|wxLEFT, 5 );


	fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );


	fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );

	m_staticTextDefRightMargin = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("Right:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextDefRightMargin->Wrap( -1 );
	fgSizer6->Add( m_staticTextDefRightMargin, 0, wxTOP|wxRIGHT|wxLEFT, 5 );


	fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );

	m_textCtrlLeftMargin = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer6->Add( m_textCtrlLeftMargin, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );

	m_units142 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units142->Wrap( -1 );
	fgSizer6->Add( m_units142, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );


	fgSizer6->Add( 0, 0, 1, wxEXPAND|wxRIGHT, 5 );

	m_textCtrlRightMargin = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer6->Add( m_textCtrlRightMargin, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );

	m_units143 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units143->Wrap( -1 );
	fgSizer6->Add( m_units143, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );

	m_staticTextTopMargin = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("Top:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextTopMargin->Wrap( -1 );
	fgSizer6->Add( m_staticTextTopMargin, 0, wxTOP|wxRIGHT|wxLEFT, 5 );


	fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );


	fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );

	m_staticTextBottomMargin = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("Bottom:"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticTextBottomMargin->Wrap( -1 );
	fgSizer6->Add( m_staticTextBottomMargin, 0, wxTOP|wxRIGHT|wxLEFT, 5 );


	fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );

	m_textCtrlTopMargin = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer6->Add( m_textCtrlTopMargin, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );

	m_units1431 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units1431->Wrap( -1 );
	fgSizer6->Add( m_units1431, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 );


	fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );

	m_textCtrlDefaultBottomMargin = new wxTextCtrl( m_swGeneralOpts, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	fgSizer6->Add( m_textCtrlDefaultBottomMargin, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );

	m_units1432 = new wxStaticText( m_swGeneralOpts, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
	m_units1432->Wrap( -1 );
	fgSizer6->Add( m_units1432, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 );


	bSizerGeneraMargins->Add( fgSizer6, 1, wxEXPAND, 5 );


	bSizerGeneralOpts->Add( bSizerGeneraMargins, 0, wxEXPAND|wxBOTTOM, 15 );

	m_buttonGeneralOptsOK = new wxButton( m_swGeneralOpts, wxID_ANY, _("Apply"), wxDefaultPosition, wxDefaultSize, 0 );

	m_buttonGeneralOptsOK->SetDefault();
	bSizerGeneralOpts->Add( m_buttonGeneralOptsOK, 0, wxALL|wxEXPAND, 5 );


	m_swGeneralOpts->SetSizer( bSizerGeneralOpts );
	m_swGeneralOpts->Layout();
	bSizerGeneralOpts->Fit( m_swGeneralOpts );
	m_notebook->AddPage( m_swGeneralOpts, _("General Options"), false );

	bSizerpanel->Add( m_notebook, 1, wxEXPAND, 5 );


	this->SetSizer( bSizerpanel );
	this->Layout();

	// Connect Events
	m_notebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( PANEL_PROPERTIES_BASE::OnPageChanged ), NULL, this );
	m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnAcceptPrms ), NULL, this );
	m_buttonDefault->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnSetDefaultValues ), NULL, this );
	m_buttonGeneralOptsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnAcceptPrms ), NULL, this );
}
Пример #27
0
DlgDef::DlgDef( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxSize( -1,-1 ), wxSize( -1,-1 ) );
	
	bSframe = new wxBoxSizer( wxHORIZONTAL );
	
	m_notebook1 = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 );
	m_panel1 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer3;
	bSizer3 = new wxBoxSizer( wxHORIZONTAL );
	
	m_panel6 = new wxPanel( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer9111;
	bSizer9111 = new wxBoxSizer( wxVERTICAL );
	
	m_staticText1511 = new wxStaticText( m_panel6, wxID_ANY, _("Great Circle\nRoute"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText1511->Wrap( -1 );
	m_staticText1511->SetFont( wxFont( 20, 70, 90, 92, false, wxEmptyString ) );
	
	bSizer9111->Add( m_staticText1511, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	wxBoxSizer* bSizer1311;
	bSizer1311 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer1421;
	bSizer1421 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer22;
	sbSizer22 = new wxStaticBoxSizer( new wxStaticBox( m_panel6, wxID_ANY, _("Input") ), wxVERTICAL );
	
	wxBoxSizer* bSizer93;
	bSizer93 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText3221 = new wxStaticText( sbSizer22->GetStaticBox(), wxID_ANY, _("Waypoint\nDistance"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3221->Wrap( -1 );
	bSizer93->Add( m_staticText3221, 0, wxALL, 5 );
	
	m_IntervalNM = new wxTextCtrl( sbSizer22->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_IntervalNM->SetToolTip( _("Enter waypoint spacing.") );
	
	bSizer93->Add( m_IntervalNM, 0, wxALL, 5 );
	
	m_staticText3321 = new wxStaticText( sbSizer22->GetStaticBox(), wxID_ANY, _("NM"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3321->Wrap( -1 );
	bSizer93->Add( m_staticText3321, 0, wxALL, 5 );
	
	
	sbSizer22->Add( bSizer93, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer94;
	bSizer94 = new wxBoxSizer( wxHORIZONTAL );
	
	m_button11 = new wxButton( sbSizer22->GetStaticBox(), wxID_ANY, _("Calculate"), wxDefaultPosition, wxDefaultSize, 0 );
	m_button11->SetToolTip( _("Show distances in result. Calculate is not required for route export.") );
	
	bSizer94->Add( m_button11, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
	
	
	sbSizer22->Add( bSizer94, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	bSizer1421->Add( sbSizer22, 0, wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer221;
	sbSizer221 = new wxStaticBoxSizer( new wxStaticBox( m_panel6, wxID_ANY, _("Result") ), wxVERTICAL );
	
	wxBoxSizer* bSizer89;
	bSizer89 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText32211 = new wxStaticText( sbSizer221->GetStaticBox(), wxID_ANY, _("Great Circle\nDistance"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText32211->Wrap( -1 );
	bSizer89->Add( m_staticText32211, 0, wxALL, 5 );
	
	m_distance_GC = new wxTextCtrl( sbSizer221->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
	bSizer89->Add( m_distance_GC, 0, wxALL, 5 );
	
	m_staticText33211 = new wxStaticText( sbSizer221->GetStaticBox(), wxID_ANY, _("NM"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText33211->Wrap( -1 );
	bSizer89->Add( m_staticText33211, 0, wxALL, 5 );
	
	
	sbSizer221->Add( bSizer89, 1, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer891;
	bSizer891 = new wxBoxSizer( wxHORIZONTAL );
	
	m_statictext234 = new wxStaticText( sbSizer221->GetStaticBox(), wxID_ANY, _("Rhumb Line\nDistance"), wxDefaultPosition, wxDefaultSize, 0 );
	m_statictext234->Wrap( -1 );
	bSizer891->Add( m_statictext234, 0, wxALL, 5 );
	
	m_distance_RH = new wxTextCtrl( sbSizer221->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
	bSizer891->Add( m_distance_RH, 0, wxALL, 5 );
	
	m_staticText332111 = new wxStaticText( sbSizer221->GetStaticBox(), wxID_ANY, _("NM"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText332111->Wrap( -1 );
	bSizer891->Add( m_staticText332111, 0, wxALL, 5 );
	
	
	sbSizer221->Add( bSizer891, 1, wxEXPAND, 5 );
	
	
	bSizer1421->Add( sbSizer221, 0, wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer11;
	sbSizer11 = new wxStaticBoxSizer( new wxStaticBox( m_panel6, wxID_ANY, _("Export") ), wxVERTICAL );
	
	m_button111 = new wxButton( sbSizer11->GetStaticBox(), wxID_ANY, _("Great Circle (shortest)"), wxDefaultPosition, wxDefaultSize, 0 );
	sbSizer11->Add( m_button111, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	m_button6 = new wxButton( sbSizer11->GetStaticBox(), wxID_ANY, _("Rhumb Line (fixed heading)"), wxDefaultPosition, wxDefaultSize, 0 );
	sbSizer11->Add( m_button6, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	m_combo_GC = new wxComboBox( sbSizer11->GetStaticBox(), wxID_ANY, _("to OpenCPN"), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
	m_combo_GC->Append( _("to OpenCPN") );
	m_combo_GC->Append( _("Remove last") );
	m_combo_GC->Append( _("to GPX file") );
	m_combo_GC->SetSelection( 0 );
	sbSizer11->Add( m_combo_GC, 5, wxALIGN_CENTER|wxALL, 5 );
	
	
	bSizer1421->Add( sbSizer11, 1, wxEXPAND, 5 );
	
	
	bSizer1311->Add( bSizer1421, 0, 0, 5 );
	
	
	bSizer9111->Add( bSizer1311, 0, 0, 5 );
	
	
	m_panel6->SetSizer( bSizer9111 );
	m_panel6->Layout();
	bSizer9111->Fit( m_panel6 );
	bSizer3->Add( m_panel6, 0, wxALL, 5 );
	
	
	m_panel1->SetSizer( bSizer3 );
	m_panel1->Layout();
	bSizer3->Fit( m_panel1 );
	m_notebook1->AddPage( m_panel1, _("Great Circle"), true );
	m_panel12 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxTAB_TRAVERSAL );
	m_panel12->SetToolTip( _("Enter waypoint spacing.") );
	
	wxBoxSizer* bSizer31;
	bSizer31 = new wxBoxSizer( wxHORIZONTAL );
	
	m_panel61 = new wxPanel( m_panel12, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer91111;
	bSizer91111 = new wxBoxSizer( wxVERTICAL );
	
	m_staticText15111 = new wxStaticText( m_panel61, wxID_ANY, _("Limited Circle\nRoute"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText15111->Wrap( -1 );
	m_staticText15111->SetFont( wxFont( 20, 70, 90, 92, false, wxEmptyString ) );
	
	bSizer91111->Add( m_staticText15111, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	wxBoxSizer* bSizer13111;
	bSizer13111 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer14211;
	bSizer14211 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer222;
	sbSizer222 = new wxStaticBoxSizer( new wxStaticBox( m_panel61, wxID_ANY, _("Input") ), wxVERTICAL );
	
	wxBoxSizer* bSizer931;
	bSizer931 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText32212 = new wxStaticText( sbSizer222->GetStaticBox(), wxID_ANY, _("Waypoint\nDistance"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText32212->Wrap( -1 );
	bSizer931->Add( m_staticText32212, 0, wxALL, 5 );
	
	m_IntervalNM1 = new wxTextCtrl( sbSizer222->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizer931->Add( m_IntervalNM1, 0, wxALL, 5 );
	
	m_staticText33212 = new wxStaticText( sbSizer222->GetStaticBox(), wxID_ANY, _("NM"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText33212->Wrap( -1 );
	bSizer931->Add( m_staticText33212, 0, wxALL, 5 );
	
	
	sbSizer222->Add( bSizer931, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer9311;
	bSizer9311 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText322121 = new wxStaticText( sbSizer222->GetStaticBox(), wxID_ANY, _("Latitude  \nLimit"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText322121->Wrap( -1 );
	bSizer9311->Add( m_staticText322121, 0, wxALL, 5 );
	
	m_LatLimit = new wxTextCtrl( sbSizer222->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_LatLimit->SetToolTip( _("This is the not to exceed limit (absolute).") );
	
	bSizer9311->Add( m_LatLimit, 0, wxALL, 5 );
	
	m_staticText3331112 = new wxStaticText( sbSizer222->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3331112->Wrap( -1 );
	bSizer9311->Add( m_staticText3331112, 0, wxALL, 5 );
	
	
	sbSizer222->Add( bSizer9311, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer941;
	bSizer941 = new wxBoxSizer( wxHORIZONTAL );
	
	m_button112 = new wxButton( sbSizer222->GetStaticBox(), wxID_ANY, _("Calculate"), wxDefaultPosition, wxDefaultSize, 0 );
	m_button112->SetToolTip( _("Show distances in result. Calculate is not required for route export.") );
	
	bSizer941->Add( m_button112, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
	
	
	sbSizer222->Add( bSizer941, 1, wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	bSizer14211->Add( sbSizer222, 0, wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer2211;
	sbSizer2211 = new wxStaticBoxSizer( new wxStaticBox( m_panel61, wxID_ANY, _("Result") ), wxVERTICAL );
	
	wxBoxSizer* bSizer892;
	bSizer892 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText322111 = new wxStaticText( sbSizer2211->GetStaticBox(), wxID_ANY, _("Limited Circle\nDistance"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText322111->Wrap( -1 );
	bSizer892->Add( m_staticText322111, 0, wxALL, 5 );
	
	m_distance_LC = new wxTextCtrl( sbSizer2211->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
	bSizer892->Add( m_distance_LC, 0, wxALL, 5 );
	
	m_staticText332112 = new wxStaticText( sbSizer2211->GetStaticBox(), wxID_ANY, _("NM"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText332112->Wrap( -1 );
	bSizer892->Add( m_staticText332112, 0, wxALL, 5 );
	
	
	sbSizer2211->Add( bSizer892, 0, 0, 5 );
	
	wxBoxSizer* bSizer8911;
	bSizer8911 = new wxBoxSizer( wxHORIZONTAL );
	
	m_statictext2341 = new wxStaticText( sbSizer2211->GetStaticBox(), wxID_ANY, _("Great Circle     \nDistance"), wxDefaultPosition, wxDefaultSize, 0 );
	m_statictext2341->Wrap( -1 );
	bSizer8911->Add( m_statictext2341, 0, wxALL, 5 );
	
	m_distance_GC1 = new wxTextCtrl( sbSizer2211->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
	bSizer8911->Add( m_distance_GC1, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_staticText3321111 = new wxStaticText( sbSizer2211->GetStaticBox(), wxID_ANY, _("NM"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3321111->Wrap( -1 );
	bSizer8911->Add( m_staticText3321111, 0, wxALL, 5 );
	
	
	sbSizer2211->Add( bSizer8911, 0, 0, 5 );
	
	wxBoxSizer* bSizer89111;
	bSizer89111 = new wxBoxSizer( wxHORIZONTAL );
	
	m_statictext23411 = new wxStaticText( sbSizer2211->GetStaticBox(), wxID_ANY, _("Rhumb Line     \nDistance"), wxDefaultPosition, wxDefaultSize, 0 );
	m_statictext23411->Wrap( -1 );
	bSizer89111->Add( m_statictext23411, 0, wxALL, 5 );
	
	m_distance_RH1 = new wxTextCtrl( sbSizer2211->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
	bSizer89111->Add( m_distance_RH1, 0, wxALL, 5 );
	
	m_staticText33211111 = new wxStaticText( sbSizer2211->GetStaticBox(), wxID_ANY, _("NM"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText33211111->Wrap( -1 );
	bSizer89111->Add( m_staticText33211111, 0, wxALL, 5 );
	
	
	sbSizer2211->Add( bSizer89111, 0, 0, 5 );
	
	
	bSizer14211->Add( sbSizer2211, 0, 0, 5 );
	
	wxStaticBoxSizer* sbSizer12;
	sbSizer12 = new wxStaticBoxSizer( new wxStaticBox( m_panel61, wxID_ANY, _("Export") ), wxHORIZONTAL );
	
	m_button1111 = new wxButton( sbSizer12->GetStaticBox(), wxID_ANY, _("Limited Circle"), wxDefaultPosition, wxDefaultSize, 0 );
	sbSizer12->Add( m_button1111, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	m_combo_LC = new wxComboBox( sbSizer12->GetStaticBox(), wxID_ANY, _("to OpenCPN"), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
	m_combo_LC->Append( _("to OpenCPN") );
	m_combo_LC->Append( _("Remove last") );
	m_combo_LC->Append( _("to GPX file") );
	m_combo_LC->SetSelection( 0 );
	sbSizer12->Add( m_combo_LC, 0, wxALL, 5 );
	
	
	bSizer14211->Add( sbSizer12, 1, wxEXPAND, 5 );
	
	
	bSizer13111->Add( bSizer14211, 0, 0, 5 );
	
	
	bSizer91111->Add( bSizer13111, 0, 0, 5 );
	
	
	m_panel61->SetSizer( bSizer91111 );
	m_panel61->Layout();
	bSizer91111->Fit( m_panel61 );
	bSizer31->Add( m_panel61, 0, wxALL, 5 );
	
	
	m_panel12->SetSizer( bSizer31 );
	m_panel12->Layout();
	bSizer31->Fit( m_panel12 );
	m_notebook1->AddPage( m_panel12, _("Limited Circle"), false );
	
	bSframe->Add( m_notebook1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
	
	wxBoxSizer* bSizer35;
	bSizer35 = new wxBoxSizer( wxVERTICAL );
	
	m_wxNotebook234 = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	m_panel11 = new wxPanel( m_wxNotebook234, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer40;
	bSizer40 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer7;
	sbSizer7 = new wxStaticBoxSizer( new wxStaticBox( m_panel11, wxID_ANY, _("Start of Route") ), wxVERTICAL );
	
	wxBoxSizer* bSizer1321;
	bSizer1321 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer1431;
	bSizer1431 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText3231 = new wxStaticText( sbSizer7->GetStaticBox(), wxID_ANY, _("Lattitude  "), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3231->Wrap( -1 );
	bSizer1431->Add( m_staticText3231, 0, wxALL, 5 );
	
	m_Lat1 = new wxTextCtrl( sbSizer7->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_Lat1->SetToolTip( _("Decimal: (+/-)38.889722(E/W). Examples:\n-38.889722\u00b0\n38.889722E\n38 88.9722\n38 88 9722E\n\nDegree Minute Seconds. Needs to contain ' or \" for base 60:\n77\u00b0 00' 32\" E/W\nexamples:\n77\u00b0 00' 32\" E\n77 00' 32\" E\n77 00 32\" E\nFor fractions use \u00b0'\" input screen.") );
	
	bSizer1431->Add( m_Lat1, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_staticText3331 = new wxStaticText( sbSizer7->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3331->Wrap( -1 );
	bSizer1431->Add( m_staticText3331, 0, wxALL, 5 );
	
	m_button7 = new wxButton( sbSizer7->GetStaticBox(), wxID_ANY, _("Paste"), wxDefaultPosition, wxDefaultSize, 0 );
	m_button7->SetToolTip( _("Use paste button only if the clipboard contains a coordinate pair. Right clicking with use \"Start/finish route_pi here\" will directly update the coordinates.\n\nDecimal degree, degree decimal minute and degree minute second are all supported.\n\nPaste coordinate pair (38.8897,-77.0089) or (38.8897\u00b0, -77.0089\u00b0) or (38\u00b0 53′ 23″ N, 77\u00b0 00′ 32″ W) or  (38 53 23 N, 77 00 32 W)") );
	
	bSizer1431->Add( m_button7, 0, wxALL, 5 );
	
	
	bSizer1321->Add( bSizer1431, 0, 0, 5 );
	
	wxBoxSizer* bSizer14311;
	bSizer14311 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText32311 = new wxStaticText( sbSizer7->GetStaticBox(), wxID_ANY, _("Longitude"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText32311->Wrap( -1 );
	bSizer14311->Add( m_staticText32311, 0, wxALL, 5 );
	
	m_Lon1 = new wxTextCtrl( sbSizer7->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_Lon1->SetToolTip( _("Decimal: (+/-)38.889722(N/S). Examples:\n-38.889722\u00b0\n38.889722N\n38 88.9722\n38 88 9722S\n\nDegree Minute Seconds. Needs to contain ' or \" for base 60:\nExamples:\n38\u00b0 53' 23\" N/S\n38\u00b0 53' 23\" N\n38 53' 23\" S\n38 53 23\"N\nFor fractions use \u00b0'\" input screen.") );
	
	bSizer14311->Add( m_Lon1, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_staticText33311 = new wxStaticText( sbSizer7->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText33311->Wrap( -1 );
	bSizer14311->Add( m_staticText33311, 0, wxALL, 5 );
	
	
	bSizer1321->Add( bSizer14311, 0, 0, 5 );
	
	
	sbSizer7->Add( bSizer1321, 0, 0, 5 );
	
	
	bSizer40->Add( sbSizer7, 0, wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer71;
	sbSizer71 = new wxStaticBoxSizer( new wxStaticBox( m_panel11, wxID_ANY, _("Finish of Route") ), wxVERTICAL );
	
	wxBoxSizer* bSizer13211;
	bSizer13211 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer14312;
	bSizer14312 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText32312 = new wxStaticText( sbSizer71->GetStaticBox(), wxID_ANY, _("Lattitude  "), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText32312->Wrap( -1 );
	bSizer14312->Add( m_staticText32312, 0, wxALL, 5 );
	
	m_Lat2 = new wxTextCtrl( sbSizer71->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_Lat2->SetToolTip( _("Decimal: (+/-)38.889722(N/S). Examples:\n-38.889722\n38.889722N\n38 88.9722\u00b0\n38 88 9722S\n\nDegree Minute Seconds. Needs to contain ' or \" for base 60:\nExamples:\n77\u00b0 00' 32\" N/S\n77\u00b0 00' 32\" N\n77 00' 32\" S\n77 00 32\"N\nFor fractions use \u00b0'\" input screen.") );
	
	bSizer14312->Add( m_Lat2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_staticText33312 = new wxStaticText( sbSizer71->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText33312->Wrap( -1 );
	bSizer14312->Add( m_staticText33312, 0, wxALL, 5 );
	
	m_button9 = new wxButton( sbSizer71->GetStaticBox(), wxID_ANY, _("Paste"), wxDefaultPosition, wxDefaultSize, 0 );
	m_button9->SetToolTip( _("Use paste button only if the clipboard contains a coordinate pair. Right clicking with use \"Start/finish route_pi here\" will directly update the coordinates.\n\nDecimal degree, degree decimal minute and degree minute second are all supported.\n\nPaste coordinate pair (38.8897,-77.0089) or (38.8897\u00b0, -77.0089\u00b0) or (38\u00b0 53′ 23″ N, 77\u00b0 00′ 32″ W) or  (38 53 23 N, 77 00 32 W)") );
	
	bSizer14312->Add( m_button9, 0, wxALL, 5 );
	
	
	bSizer13211->Add( bSizer14312, 0, 0, 5 );
	
	wxBoxSizer* bSizer143111;
	bSizer143111 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText323111 = new wxStaticText( sbSizer71->GetStaticBox(), wxID_ANY, _("Longitude"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText323111->Wrap( -1 );
	bSizer143111->Add( m_staticText323111, 0, wxALL, 5 );
	
	m_Lon2 = new wxTextCtrl( sbSizer71->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_Lon2->SetToolTip( _("Decimal: (+/-)38.889722(N/S). Examples:\n-38.889722\n38.889722N\u00b0\n38 88.9722\n38 88 9722S\n\nDegree Minute Seconds. Needs to contain ' or \" for base 60:\nExamples:\n38\u00b0 53' 23\" N/S\n38\u00b0 53' 23\" N\n38 53' 23\" S\n38 53 23\"N\nFor fractions use \u00b0'\" input screen.") );
	
	bSizer143111->Add( m_Lon2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	m_staticText333111 = new wxStaticText( sbSizer71->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText333111->Wrap( -1 );
	bSizer143111->Add( m_staticText333111, 0, wxALL, 5 );
	
	
	bSizer13211->Add( bSizer143111, 0, 0, 5 );
	
	
	sbSizer71->Add( bSizer13211, 0, 0, 5 );
	
	
	bSizer40->Add( sbSizer71, 0, wxEXPAND, 5 );
	
	wxStaticBoxSizer* sbSizer712;
	sbSizer712 = new wxStaticBoxSizer( new wxStaticBox( m_panel11, wxID_ANY, _("Naming") ), wxVERTICAL );
	
	wxBoxSizer* bSizer132112;
	bSizer132112 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer143122;
	bSizer143122 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText323122 = new wxStaticText( sbSizer712->GetStaticBox(), wxID_ANY, _("Route"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText323122->Wrap( -1 );
	bSizer143122->Add( m_staticText323122, 0, wxALL, 5 );
	
	m_Route = new wxTextCtrl( sbSizer712->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_Route->SetToolTip( _("Name of Route") );
	
	bSizer143122->Add( m_Route, 1, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
	
	
	bSizer132112->Add( bSizer143122, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer1431112;
	bSizer1431112 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText3231112 = new wxStaticText( sbSizer712->GetStaticBox(), wxID_ANY, _("Start  "), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3231112->Wrap( -1 );
	bSizer1431112->Add( m_staticText3231112, 0, wxALL, 5 );
	
	m_Start = new wxTextCtrl( sbSizer712->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_Start->SetToolTip( _("Start location of route") );
	
	bSizer1431112->Add( m_Start, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	
	bSizer132112->Add( bSizer1431112, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer14311121;
	bSizer14311121 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText32311121 = new wxStaticText( sbSizer712->GetStaticBox(), wxID_ANY, _("Finish"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText32311121->Wrap( -1 );
	bSizer14311121->Add( m_staticText32311121, 0, wxALL, 5 );
	
	m_End = new wxTextCtrl( sbSizer712->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	m_End->SetToolTip( _("Finish location of route") );
	
	bSizer14311121->Add( m_End, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	
	bSizer132112->Add( bSizer14311121, 0, wxEXPAND, 5 );
	
	
	sbSizer712->Add( bSizer132112, 0, wxEXPAND, 5 );
	
	
	bSizer40->Add( sbSizer712, 0, wxEXPAND, 5 );
	
	
	m_panel11->SetSizer( bSizer40 );
	m_panel11->Layout();
	bSizer40->Fit( m_panel11 );
	m_wxNotebook234->AddPage( m_panel11, _("Decimal \u00b0"), true );
	m_panel151 = new wxPanel( m_wxNotebook234, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer4011;
	bSizer4011 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer721;
	sbSizer721 = new wxStaticBoxSizer( new wxStaticBox( m_panel151, wxID_ANY, _("Start of Route") ), wxVERTICAL );
	
	wxBoxSizer* bSizer132121;
	bSizer132121 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer143131;
	bSizer143131 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText323131 = new wxStaticText( sbSizer721->GetStaticBox(), wxID_ANY, _("Lat "), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText323131->Wrap( -1 );
	bSizer143131->Add( m_staticText323131, 0, wxALL, 5 );
	
	m_Lat1_d1 = new wxTextCtrl( sbSizer721->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat1_d1->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer143131->Add( m_Lat1_d1, 0, wxALL, 5 );
	
	m_staticText333131 = new wxStaticText( sbSizer721->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
	m_staticText333131->Wrap( -1 );
	bSizer143131->Add( m_staticText333131, 0, wxALL, 5 );
	
	m_Lat1_m1 = new wxTextCtrl( sbSizer721->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat1_m1->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer143131->Add( m_Lat1_m1, 0, wxALL, 5 );
	
	m_staticText11431 = new wxStaticText( sbSizer721->GetStaticBox(), wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText11431->Wrap( -1 );
	bSizer143131->Add( m_staticText11431, 0, wxALL, 5 );
	
	wxString m_Lat1_NS1Choices[] = { _("N"), _("S") };
	int m_Lat1_NS1NChoices = sizeof( m_Lat1_NS1Choices ) / sizeof( wxString );
	m_Lat1_NS1 = new wxChoice( sbSizer721->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lat1_NS1NChoices, m_Lat1_NS1Choices, 0 );
	m_Lat1_NS1->SetSelection( 0 );
	bSizer143131->Add( m_Lat1_NS1, 0, wxALL, 5 );
	
	
	bSizer132121->Add( bSizer143131, 0, 0, 5 );
	
	wxBoxSizer* bSizer1431121;
	bSizer1431121 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText3231121 = new wxStaticText( sbSizer721->GetStaticBox(), wxID_ANY, _("Lon"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3231121->Wrap( -1 );
	bSizer1431121->Add( m_staticText3231121, 0, wxALL, 5 );
	
	m_Lon1_d1 = new wxTextCtrl( sbSizer721->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon1_d1->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer1431121->Add( m_Lon1_d1, 0, wxALL, 5 );
	
	m_staticText3331121 = new wxStaticText( sbSizer721->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3331121->Wrap( -1 );
	bSizer1431121->Add( m_staticText3331121, 0, wxALL, 5 );
	
	m_Lon1_m1 = new wxTextCtrl( sbSizer721->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon1_m1->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer1431121->Add( m_Lon1_m1, 0, wxALL, 5 );
	
	m_staticText114121 = new wxStaticText( sbSizer721->GetStaticBox(), wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText114121->Wrap( -1 );
	bSizer1431121->Add( m_staticText114121, 0, wxALL, 5 );
	
	wxString m_Lon1_EW1Choices[] = { _("E"), _("W") };
	int m_Lon1_EW1NChoices = sizeof( m_Lon1_EW1Choices ) / sizeof( wxString );
	m_Lon1_EW1 = new wxChoice( sbSizer721->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lon1_EW1NChoices, m_Lon1_EW1Choices, 0 );
	m_Lon1_EW1->SetSelection( 0 );
	bSizer1431121->Add( m_Lon1_EW1, 0, wxALL, 5 );
	
	
	bSizer132121->Add( bSizer1431121, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	sbSizer721->Add( bSizer132121, 0, 0, 5 );
	
	
	bSizer4011->Add( sbSizer721, 0, 0, 5 );
	
	wxStaticBoxSizer* sbSizer7111;
	sbSizer7111 = new wxStaticBoxSizer( new wxStaticBox( m_panel151, wxID_ANY, _("Finish of Route") ), wxVERTICAL );
	
	wxBoxSizer* bSizer1321111;
	bSizer1321111 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer1431211;
	bSizer1431211 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText3231211 = new wxStaticText( sbSizer7111->GetStaticBox(), wxID_ANY, _("Lat "), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3231211->Wrap( -1 );
	bSizer1431211->Add( m_staticText3231211, 0, wxALL, 5 );
	
	m_Lat2_d1 = new wxTextCtrl( sbSizer7111->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat2_d1->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer1431211->Add( m_Lat2_d1, 0, wxALL, 5 );
	
	m_staticText3331211 = new wxStaticText( sbSizer7111->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3331211->Wrap( -1 );
	bSizer1431211->Add( m_staticText3331211, 0, wxALL, 5 );
	
	m_Lat2_m1 = new wxTextCtrl( sbSizer7111->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat2_m1->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer1431211->Add( m_Lat2_m1, 0, wxALL, 5 );
	
	m_staticText114211 = new wxStaticText( sbSizer7111->GetStaticBox(), wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText114211->Wrap( -1 );
	bSizer1431211->Add( m_staticText114211, 0, wxALL, 5 );
	
	wxString m_Lat2_NS1Choices[] = { _("N"), _("S") };
	int m_Lat2_NS1NChoices = sizeof( m_Lat2_NS1Choices ) / sizeof( wxString );
	m_Lat2_NS1 = new wxChoice( sbSizer7111->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lat2_NS1NChoices, m_Lat2_NS1Choices, 0 );
	m_Lat2_NS1->SetSelection( 0 );
	bSizer1431211->Add( m_Lat2_NS1, 0, wxALL, 5 );
	
	
	bSizer1321111->Add( bSizer1431211, 0, 0, 5 );
	
	wxBoxSizer* bSizer14311111;
	bSizer14311111 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText32311111 = new wxStaticText( sbSizer7111->GetStaticBox(), wxID_ANY, _("Lon"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText32311111->Wrap( -1 );
	bSizer14311111->Add( m_staticText32311111, 0, wxALL, 5 );
	
	m_Lon2_d1 = new wxTextCtrl( sbSizer7111->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon2_d1->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer14311111->Add( m_Lon2_d1, 0, wxALL, 5 );
	
	m_staticText33311111 = new wxStaticText( sbSizer7111->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText33311111->Wrap( -1 );
	bSizer14311111->Add( m_staticText33311111, 0, wxALL, 5 );
	
	m_Lon2_m1 = new wxTextCtrl( sbSizer7111->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon2_m1->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer14311111->Add( m_Lon2_m1, 0, wxALL, 5 );
	
	m_staticText1141111 = new wxStaticText( sbSizer7111->GetStaticBox(), wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText1141111->Wrap( -1 );
	bSizer14311111->Add( m_staticText1141111, 0, wxALL, 5 );
	
	wxString m_Lon2_EW1Choices[] = { _("E"), _("W") };
	int m_Lon2_EW1NChoices = sizeof( m_Lon2_EW1Choices ) / sizeof( wxString );
	m_Lon2_EW1 = new wxChoice( sbSizer7111->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lon2_EW1NChoices, m_Lon2_EW1Choices, 0 );
	m_Lon2_EW1->SetSelection( 0 );
	bSizer14311111->Add( m_Lon2_EW1, 0, wxALL, 5 );
	
	
	bSizer1321111->Add( bSizer14311111, 0, 0, 5 );
	
	
	sbSizer7111->Add( bSizer1321111, 0, 0, 5 );
	
	
	bSizer4011->Add( sbSizer7111, 0, 0, 5 );
	
	wxBoxSizer* bSizer4811;
	bSizer4811 = new wxBoxSizer( wxHORIZONTAL );
	
	m_button811 = new wxButton( m_panel151, wxID_ANY, _("Convert to Degree"), wxDefaultPosition, wxDefaultSize, 0 );
	m_button811->SetToolTip( _("Entries can be made both in decimal and fraction (w n/d) or (n/d). Entries will be converted to decimal degree.") );
	
	bSizer4811->Add( m_button811, 0, wxALL, 5 );
	
	
	bSizer4011->Add( bSizer4811, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	m_panel151->SetSizer( bSizer4011 );
	m_panel151->Layout();
	bSizer4011->Fit( m_panel151 );
	m_wxNotebook234->AddPage( m_panel151, _("\u00b0 Decimal '"), false );
	m_panel15 = new wxPanel( m_wxNotebook234, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer401;
	bSizer401 = new wxBoxSizer( wxVERTICAL );
	
	wxStaticBoxSizer* sbSizer72;
	sbSizer72 = new wxStaticBoxSizer( new wxStaticBox( m_panel15, wxID_ANY, _("Start of Route") ), wxVERTICAL );
	
	wxBoxSizer* bSizer13212;
	bSizer13212 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer14313;
	bSizer14313 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText32313 = new wxStaticText( sbSizer72->GetStaticBox(), wxID_ANY, _("Lat "), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText32313->Wrap( -1 );
	bSizer14313->Add( m_staticText32313, 0, wxALL, 5 );
	
	m_Lat1_d = new wxTextCtrl( sbSizer72->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat1_d->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer14313->Add( m_Lat1_d, 0, wxALL, 5 );
	
	m_staticText33313 = new wxStaticText( sbSizer72->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
	m_staticText33313->Wrap( -1 );
	bSizer14313->Add( m_staticText33313, 0, wxALL, 5 );
	
	m_Lat1_m = new wxTextCtrl( sbSizer72->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat1_m->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer14313->Add( m_Lat1_m, 0, wxALL, 5 );
	
	m_staticText1143 = new wxStaticText( sbSizer72->GetStaticBox(), wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText1143->Wrap( -1 );
	bSizer14313->Add( m_staticText1143, 0, wxALL, 5 );
	
	m_Lat1_s = new wxTextCtrl( sbSizer72->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat1_s->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer14313->Add( m_Lat1_s, 0, wxALL, 5 );
	
	m_staticText1153 = new wxStaticText( sbSizer72->GetStaticBox(), wxID_ANY, _("\""), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText1153->Wrap( -1 );
	bSizer14313->Add( m_staticText1153, 0, wxALL, 5 );
	
	wxString m_Lat1_NSChoices[] = { _("N"), _("S") };
	int m_Lat1_NSNChoices = sizeof( m_Lat1_NSChoices ) / sizeof( wxString );
	m_Lat1_NS = new wxChoice( sbSizer72->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lat1_NSNChoices, m_Lat1_NSChoices, 0 );
	m_Lat1_NS->SetSelection( 0 );
	bSizer14313->Add( m_Lat1_NS, 0, wxALL, 5 );
	
	
	bSizer13212->Add( bSizer14313, 0, 0, 5 );
	
	wxBoxSizer* bSizer143112;
	bSizer143112 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText323112 = new wxStaticText( sbSizer72->GetStaticBox(), wxID_ANY, _("Lon"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText323112->Wrap( -1 );
	bSizer143112->Add( m_staticText323112, 0, wxALL, 5 );
	
	m_Lon1_d = new wxTextCtrl( sbSizer72->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon1_d->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer143112->Add( m_Lon1_d, 0, wxALL, 5 );
	
	m_staticText333112 = new wxStaticText( sbSizer72->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText333112->Wrap( -1 );
	bSizer143112->Add( m_staticText333112, 0, wxALL, 5 );
	
	m_Lon1_m = new wxTextCtrl( sbSizer72->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon1_m->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer143112->Add( m_Lon1_m, 0, wxALL, 5 );
	
	m_staticText11412 = new wxStaticText( sbSizer72->GetStaticBox(), wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText11412->Wrap( -1 );
	bSizer143112->Add( m_staticText11412, 0, wxALL, 5 );
	
	m_Lon1_s = new wxTextCtrl( sbSizer72->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon1_s->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer143112->Add( m_Lon1_s, 0, wxALL, 5 );
	
	m_staticText11512 = new wxStaticText( sbSizer72->GetStaticBox(), wxID_ANY, _("\""), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText11512->Wrap( -1 );
	bSizer143112->Add( m_staticText11512, 0, wxALL, 5 );
	
	wxString m_Lon1_EWChoices[] = { _("E"), _("W") };
	int m_Lon1_EWNChoices = sizeof( m_Lon1_EWChoices ) / sizeof( wxString );
	m_Lon1_EW = new wxChoice( sbSizer72->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lon1_EWNChoices, m_Lon1_EWChoices, 0 );
	m_Lon1_EW->SetSelection( 0 );
	bSizer143112->Add( m_Lon1_EW, 0, wxALL, 5 );
	
	
	bSizer13212->Add( bSizer143112, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	sbSizer72->Add( bSizer13212, 0, 0, 5 );
	
	
	bSizer401->Add( sbSizer72, 0, 0, 5 );
	
	wxStaticBoxSizer* sbSizer711;
	sbSizer711 = new wxStaticBoxSizer( new wxStaticBox( m_panel15, wxID_ANY, _("Finish of Route") ), wxVERTICAL );
	
	wxBoxSizer* bSizer132111;
	bSizer132111 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer143121;
	bSizer143121 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText323121 = new wxStaticText( sbSizer711->GetStaticBox(), wxID_ANY, _("Lat "), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText323121->Wrap( -1 );
	bSizer143121->Add( m_staticText323121, 0, wxALL, 5 );
	
	m_Lat2_d = new wxTextCtrl( sbSizer711->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat2_d->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer143121->Add( m_Lat2_d, 0, wxALL, 5 );
	
	m_staticText333121 = new wxStaticText( sbSizer711->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText333121->Wrap( -1 );
	bSizer143121->Add( m_staticText333121, 0, wxALL, 5 );
	
	m_Lat2_m = new wxTextCtrl( sbSizer711->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat2_m->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer143121->Add( m_Lat2_m, 0, wxALL, 5 );
	
	m_staticText11421 = new wxStaticText( sbSizer711->GetStaticBox(), wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText11421->Wrap( -1 );
	bSizer143121->Add( m_staticText11421, 0, wxALL, 5 );
	
	m_Lat2_s = new wxTextCtrl( sbSizer711->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lat2_s->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer143121->Add( m_Lat2_s, 0, wxALL, 5 );
	
	m_staticText11521 = new wxStaticText( sbSizer711->GetStaticBox(), wxID_ANY, _("\""), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText11521->Wrap( -1 );
	bSizer143121->Add( m_staticText11521, 0, wxALL, 5 );
	
	wxString m_Lat2_NSChoices[] = { _("N"), _("S") };
	int m_Lat2_NSNChoices = sizeof( m_Lat2_NSChoices ) / sizeof( wxString );
	m_Lat2_NS = new wxChoice( sbSizer711->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lat2_NSNChoices, m_Lat2_NSChoices, 0 );
	m_Lat2_NS->SetSelection( 0 );
	bSizer143121->Add( m_Lat2_NS, 0, wxALL, 5 );
	
	
	bSizer132111->Add( bSizer143121, 0, 0, 5 );
	
	wxBoxSizer* bSizer1431111;
	bSizer1431111 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText3231111 = new wxStaticText( sbSizer711->GetStaticBox(), wxID_ANY, _("Lon"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3231111->Wrap( -1 );
	bSizer1431111->Add( m_staticText3231111, 0, wxALL, 5 );
	
	m_Lon2_d = new wxTextCtrl( sbSizer711->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon2_d->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer1431111->Add( m_Lon2_d, 0, wxALL, 5 );
	
	m_staticText3331111 = new wxStaticText( sbSizer711->GetStaticBox(), wxID_ANY, _("\u00b0"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3331111->Wrap( -1 );
	bSizer1431111->Add( m_staticText3331111, 0, wxALL, 5 );
	
	m_Lon2_m = new wxTextCtrl( sbSizer711->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon2_m->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer1431111->Add( m_Lon2_m, 0, wxALL, 5 );
	
	m_staticText114111 = new wxStaticText( sbSizer711->GetStaticBox(), wxID_ANY, _("'"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText114111->Wrap( -1 );
	bSizer1431111->Add( m_staticText114111, 0, wxALL, 5 );
	
	m_Lon2_s = new wxTextCtrl( sbSizer711->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), 0 );
	m_Lon2_s->SetToolTip( _("x or x.y or x y/z or y/z") );
	
	bSizer1431111->Add( m_Lon2_s, 0, wxALL, 5 );
	
	m_staticText115111 = new wxStaticText( sbSizer711->GetStaticBox(), wxID_ANY, _("\""), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText115111->Wrap( -1 );
	bSizer1431111->Add( m_staticText115111, 0, wxALL, 5 );
	
	wxString m_Lon2_EWChoices[] = { _("E"), _("W") };
	int m_Lon2_EWNChoices = sizeof( m_Lon2_EWChoices ) / sizeof( wxString );
	m_Lon2_EW = new wxChoice( sbSizer711->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_Lon2_EWNChoices, m_Lon2_EWChoices, 0 );
	m_Lon2_EW->SetSelection( 0 );
	bSizer1431111->Add( m_Lon2_EW, 0, wxALL, 5 );
	
	
	bSizer132111->Add( bSizer1431111, 0, 0, 5 );
	
	
	sbSizer711->Add( bSizer132111, 0, 0, 5 );
	
	
	bSizer401->Add( sbSizer711, 0, 0, 5 );
	
	wxBoxSizer* bSizer481;
	bSizer481 = new wxBoxSizer( wxHORIZONTAL );
	
	m_button81 = new wxButton( m_panel15, wxID_ANY, _("Convert to Degree"), wxDefaultPosition, wxDefaultSize, 0 );
	m_button81->SetToolTip( _("Entries can be made both in decimal and fraction (w n/d) or (n/d). Entries will be converted to decimal degree.") );
	
	bSizer481->Add( m_button81, 0, wxALL, 5 );
	
	
	bSizer401->Add( bSizer481, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
	
	
	m_panel15->SetSizer( bSizer401 );
	m_panel15->Layout();
	bSizer401->Fit( m_panel15 );
	m_wxNotebook234->AddPage( m_panel15, _("\u00b0 ' \""), false );
	m_panel8 = new wxPanel( m_wxNotebook234, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer42;
	bSizer42 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer60;
	bSizer60 = new wxBoxSizer( wxHORIZONTAL );
	
	m_textCtrl55 = new wxTextCtrl( m_panel8, wxID_ANY, _("Route Plugin for OpenCPN\n(Version 1.2)\nby Walbert Schulpen (SaltyPaws)\n\nThe purpose of Route additional Great Circle, Limited Circle and Rhumb line plotting capability to OpenCPN. \n\nWhile the easiest way to get from A to B is by plotting a constant heading course (Rhumb Line), the shortest possible way is by sailing a constant arc (Great Circle). This is due to the curvature of the earth, and the way this is applied in Mercator projections. This Great Circle could take you into the high or low latitudes, which most sailors prefer to avoid due to icebergs and/or severe weather. When using the Limited circle option you can enter the most southern/northern latitude you are comfortable navigating, and the limited circle route will keep you on that latitude.\n\nThe easiest way to import way points is with the right click menu anywhere on the map (\"Start/Finish Route Here\").\n\nThe Decimal degree is the most flexible input window, and will accept all common formats (dms, d m.mm and d .dddddd) as long as the coordinates are formated properly. (e.g 10.999 or 10 59.99N or 10 59 59N. Use the paste button to paste coordinate pairs (separated by <tab> or comma). When importing decimal degree way point pairs the coordinates can be separated by just a space. If you want to paste the individual coordinates, just paste them directly in the appropriate window.\n\nPlease report suggestions for improvements or bugs in this location:\nhttp://github.com/SaltyPaws/route_pi/issues"), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
	#ifdef __WXGTK__
	if ( !m_textCtrl55->HasFlag( wxTE_MULTILINE ) )
	{
	m_textCtrl55->SetMaxLength( -1 );
	}
	#else
	m_textCtrl55->SetMaxLength( -1 );
	#endif
	m_textCtrl55->SetMinSize( wxSize( 50,50 ) );
	
	bSizer60->Add( m_textCtrl55, 100, wxALL|wxEXPAND, 5 );
	
	
	bSizer42->Add( bSizer60, 1, wxEXPAND, 5 );
	
	
	m_panel8->SetSizer( bSizer42 );
	m_panel8->Layout();
	bSizer42->Fit( m_panel8 );
	m_wxNotebook234->AddPage( m_panel8, _("About"), false );
	
	bSizer35->Add( m_wxNotebook234, 0, wxALL, 5 );
	
	
	bSframe->Add( bSizer35, 1, wxEXPAND, 5 );
	
	
	this->SetSizer( bSframe );
	this->Layout();
	bSframe->Fit( this );
	
	this->Centre( wxBOTH );
	
	// Connect Events
	m_button11->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnGCCalculate ), NULL, this );
	m_button111->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnExportGC ), NULL, this );
	m_button6->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnExportRH ), NULL, this );
	m_button112->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnGCLCalculate ), NULL, this );
	m_button1111->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnExportGCL ), NULL, this );
	m_wxNotebook234->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DlgDef::OnNoteBookFit ), NULL, this );
	m_button7->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnStartPaste ), NULL, this );
	m_button9->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnEndPaste ), NULL, this );
	m_button811->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnConverttoDegree ), NULL, this );
	m_button81->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DlgDef::OnConverttoDegree ), NULL, this );
}
Пример #28
0
DiscoveryPanelBase::DiscoveryPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
	wxFlexGridSizer* fgSizer1;
	fgSizer1 = new wxFlexGridSizer( 2, 1, 0, 0 );
	fgSizer1->AddGrowableCol( 0 );
	fgSizer1->AddGrowableRow( 1 );
	fgSizer1->SetFlexibleDirection( wxBOTH );
	fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	wxBoxSizer* bSizer101;
	bSizer101 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText11 = new wxStaticText( this, wxID_ANY, wxT("Component ID (S.N.C):"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText11->Wrap( -1 );
	m_staticText11->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	
	bSizer101->Add( m_staticText11, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	mSubsystemTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	bSizer101->Add( mSubsystemTextCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	mNodeChoiceBox = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); 
	bSizer101->Add( mNodeChoiceBox, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	mComponentChoiceBox = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); 
	bSizer101->Add( mComponentChoiceBox, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	mInitializeButton = new wxButton( this, wxID_ANY, wxT("Initialize"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer101->Add( mInitializeButton, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	mShutdownButton = new wxButton( this, wxID_ANY, wxT("Shutdown"), wxDefaultPosition, wxDefaultSize, 0 );
	mShutdownButton->Enable( false );
	
	bSizer101->Add( mShutdownButton, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	fgSizer1->Add( bSizer101, 0, 0, 5 );
	
	wxFlexGridSizer* fgSizer2;
	fgSizer2 = new wxFlexGridSizer( 0, 3, 0, 0 );
	fgSizer2->AddGrowableCol( 1 );
	fgSizer2->AddGrowableRow( 0 );
	fgSizer2->SetFlexibleDirection( wxBOTH );
	fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	wxBoxSizer* bSizer111;
	bSizer111 = new wxBoxSizer( wxVERTICAL );
	
	m_staticText12 = new wxStaticText( this, wxID_ANY, wxT("Subsystems (Select for Details)"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText12->Wrap( -1 );
	bSizer111->Add( m_staticText12, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	mSubsystemList = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SORT ); 
	bSizer111->Add( mSubsystemList, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	wxBoxSizer* bSizer11;
	bSizer11 = new wxBoxSizer( wxHORIZONTAL );
	
	m_staticText10 = new wxStaticText( this, wxID_ANY, wxT("TTL"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText10->Wrap( -1 );
	m_staticText10->SetToolTip( wxT("Time to Live (TLL) for components and subsystems.  If no updates heard for X seconds, component is dropped.") );
	
	bSizer11->Add( m_staticText10, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	wxString mTTLChoices[] = { wxT("1"), wxT("2"), wxT("3"), wxT("4"), wxT("5"), wxT("6"), wxT("7"), wxT("8"), wxT("9"), wxT("10") };
	int mTTLNChoices = sizeof( mTTLChoices ) / sizeof( wxString );
	mTTL = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, mTTLNChoices, mTTLChoices, 0 );
	mTTL->SetSelection( 4 );
	mTTL->SetToolTip( wxT("Time to Live in seconds") );
	
	bSizer11->Add( mTTL, 1, wxALL, 5 );
	
	bSizer111->Add( bSizer11, 0, wxEXPAND, 5 );
	
	fgSizer2->Add( bSizer111, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer12;
	bSizer12 = new wxBoxSizer( wxVERTICAL );
	
	mDiscoveryNotebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
	mServicesPanel = new wxPanel( mDiscoveryNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer20;
	bSizer20 = new wxBoxSizer( wxVERTICAL );
	
	mSubsystemTree = new wxTreeCtrl( mServicesPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE|wxTR_FULL_ROW_HIGHLIGHT );
	bSizer20->Add( mSubsystemTree, 1, wxALL|wxEXPAND, 5 );
	
	mServicesPanel->SetSizer( bSizer20 );
	mServicesPanel->Layout();
	bSizer20->Fit( mServicesPanel );
	mDiscoveryNotebook->AddPage( mServicesPanel, wxT("Services"), false );
	
	bSizer12->Add( mDiscoveryNotebook, 1, wxALL|wxEXPAND, 5 );
	
	fgSizer2->Add( bSizer12, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer19;
	bSizer19 = new wxBoxSizer( wxVERTICAL );
	
	m_staticText18 = new wxStaticText( this, wxID_ANY, wxT("Select Component"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText18->Wrap( -1 );
	bSizer19->Add( m_staticText18, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	wxArrayString mSelectComponentChoiceChoices;
	mSelectComponentChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, mSelectComponentChoiceChoices, 0 );
	mSelectComponentChoice->SetSelection( -1 );
	bSizer19->Add( mSelectComponentChoice, 0, wxALL|wxEXPAND, 5 );
	
	m_staticText19 = new wxStaticText( this, wxID_ANY, wxT("Command Options"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText19->Wrap( -1 );
	bSizer19->Add( m_staticText19, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	bSizer19->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
	
	m_staticText17 = new wxStaticText( this, wxID_ANY, wxT("Authority Level"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText17->Wrap( -1 );
	bSizer19->Add( m_staticText17, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	wxArrayString mAuthorityChoiceChoices;
	mAuthorityChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, mAuthorityChoiceChoices, 0 );
	mAuthorityChoice->SetSelection( 0 );
	bSizer19->Add( mAuthorityChoice, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	mControlButton = new wxButton( this, wxID_ANY, wxT("Take Control"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer19->Add( mControlButton, 0, wxALL|wxEXPAND, 5 );
	
	mJoystickButton = new wxButton( this, wxID_ANY, wxT("Take Joystick Control"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer19->Add( mJoystickButton, 0, wxALL|wxEXPAND, 5 );
	
	m_staticline3 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	bSizer19->Add( m_staticline3, 0, wxEXPAND | wxALL, 5 );
	
	mResumeButton = new wxButton( this, wxID_ANY, wxT("Send Resume"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer19->Add( mResumeButton, 0, wxALL|wxEXPAND, 5 );
	
	mStandbyButton = new wxButton( this, wxID_ANY, wxT("Send Standby"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer19->Add( mStandbyButton, 0, wxALL|wxEXPAND, 5 );
	
	mSendShutdown = new wxButton( this, wxID_ANY, wxT("Send Shutdown"), wxDefaultPosition, wxDefaultSize, 0 );
	bSizer19->Add( mSendShutdown, 0, wxALL|wxEXPAND, 5 );
	
	fgSizer2->Add( bSizer19, 0, wxEXPAND, 5 );
	
	fgSizer1->Add( fgSizer2, 0, wxEXPAND, 5 );
	
	this->SetSizer( fgSizer1 );
	this->Layout();
	
	// Connect Events
	this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DiscoveryPanelBase::OnUpdateUI ) );
	mInitializeButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnInitializeButton ), NULL, this );
	mShutdownButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnShutdownButton ), NULL, this );
	mSubsystemList->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DiscoveryPanelBase::OnSelectSubsystem ), NULL, this );
	mTTL->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DiscoveryPanelBase::OnTLL ), NULL, this );
	mDiscoveryNotebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DiscoveryPanelBase::OnNotebookPageChanged ), NULL, this );
	mSelectComponentChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DiscoveryPanelBase::OnSelectComponentChoice ), NULL, this );
	mAuthorityChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DiscoveryPanelBase::OnAuthorityLevel ), NULL, this );
	mControlButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnTakeControl ), NULL, this );
	mJoystickButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnTakeJoystickControl ), NULL, this );
	mResumeButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnSendResume ), NULL, this );
	mStandbyButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnSendStandby ), NULL, this );
	mSendShutdown->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DiscoveryPanelBase::OnSendShutdown ), NULL, this );
}