Beispiel #1
0
ecRunTestsExecutablesDialog::ecRunTestsExecutablesDialog(wxWindow* parent):
    wxPanel(parent, ecID_RUN_TESTS_EXECUTABLES)
{
    CreateControls(this);    

    SetHelpText(_("The executables dialog allows you to select tests to be run."));
}
Beispiel #2
0
ecViewerOptionsDialog::ecViewerOptionsDialog(wxWindow* parent):
    wxPanel(parent, ecID_SETTINGS_VIEWER)
{
    CreateControls(this);    

    SetHelpText(_("The viewer options dialog allows you to configure viewers."));
}
Beispiel #3
0
ecRunTestsOutputDialog::ecRunTestsOutputDialog(wxWindow* parent):
    wxPanel(parent, ecID_RUN_TESTS_OUTPUT)
{
    CreateControls(this);    

    SetHelpText(_("The output dialog displays the run output."));
}
Beispiel #4
0
DrawToolBar::DrawToolBar(wxWindow *parent) :
	wxToolBar(parent,-1)
{
	SetHelpText(_T("draw3-toolbar-items"));

	AddTool(drawTB_ABOUT, _T(""),help_xpm,_("About"));
	AddTool(drawTB_FIND, _T(""),find_xpm, _("Find"));
	AddTool(drawTB_SUMWIN, _T(""),plus_xpm, _("Summary Window"));
	AddTool(drawTB_SPLTCRS, _T(""),split_xpm, _("Split cursor"), wxITEM_CHECK);
	AddTool(drawTB_FILTER, _T(""),filter0_xpm, _("Filter"));
	AddTool(drawTB_REFRESH, _T(""),refresh_xpm, _("Refresh"));
	AddTool(drawTB_DRAWTREE, _T(""),draw_tree_xpm, _("Tree Set"));
/** disable florence keyboard in windows builds */
#ifndef MINGW32
	AddTool(drawTB_FLORENCE, _T(""), florence_xpm, _("Show screen keyboard"));
#endif
	AddTool(drawTB_GOTOLATESTDATE, _T(""), flag_checkered_xpm, _("Go to latest date"));
	AddTool(drawTB_REMARK, _T(""), remark_xpm, _("Remarks"));
	AddTool(drawTB_EXIT, _T(""),exit_xpm, _("Quit"));
	if (VersionChecker::IsNewVersion())
		NewDrawVersionAvailable();
	else
		Realize();

#ifndef MINGW32
	/* disable florence button if program is not present */
	std::string path = exec_cmd("which florence");
	path = path.substr(0, path.size()-1);

	if (access(path.c_str(), X_OK))
		EnableTool(drawTB_FLORENCE, false);
#endif

	VersionChecker::AddToolbar(this);
}
Beispiel #5
0
ecDisplayOptionsDialog::ecDisplayOptionsDialog(wxWindow* parent):
    wxPanel(parent, ecID_SETTINGS_DISPLAY)
{
    CreateControls(this);    

    SetHelpText(_("The display options dialog allows you to change display-related options"));
}
Beispiel #6
0
ecSectionRelocationDialog::ecSectionRelocationDialog(wxWindow* parent):
    wxPanel(parent, ecID_SECTION_RELOCATION)
{
    CreateControls(this);    

    SetHelpText(_("TODO"));
}
Beispiel #7
0
ecSectionNoteDialog::ecSectionNoteDialog(wxWindow* parent):
    wxPanel(parent, ecID_SECTION_NOTE)
{
    CreateControls(this);    

    SetHelpText(_("TODO"));
}
Beispiel #8
0
DrawToolBar::DrawToolBar(wxWindow *parent) :
	wxToolBar(parent,-1)
{
	SetHelpText(_T("draw3-toolbar-items"));

	AddTool(drawTB_ABOUT, _T(""),help_xpm,_("About"));
	AddTool(drawTB_FIND, _T(""),find_xpm, _("Find"));
	AddTool(drawTB_SUMWIN, _T(""),plus_xpm, _("Summary Window"));
	AddTool(drawTB_SPLTCRS, _T(""),split_xpm, _("Split cursor"), wxITEM_CHECK);
	AddTool(drawTB_FILTER, _T(""),filter0_xpm, _("Filter"));
	AddTool(drawTB_REFRESH, _T(""),refresh_xpm, _("Refresh"));
	AddTool(drawTB_DRAWTREE, _T(""),draw_tree_xpm, _("Tree Set"));
/** disable florence keyboard in windows builds */
#ifndef MINGW32
	AddTool(drawTB_FLORENCE, _T(""), florence_xpm, _("Show screen keyboard"));
#endif
	AddTool(drawTB_GOTOLATESTDATE, _T(""), flag_checkered_xpm, _("Go to latest date"));
	AddTool(drawTB_REMARK, _T(""), remark_xpm, _("Remarks"));
	AddTool(drawTB_EXIT, _T(""),exit_xpm, _("Quit"));
	if (VersionChecker::IsNewVersion())
		NewDrawVersionAvailable();
	else
		Realize();
	VersionChecker::AddToolbar(this);
}
Beispiel #9
0
ecSectionGeneralDialog::ecSectionGeneralDialog(wxWindow* parent):
    wxPanel(parent, ecID_SECTION_GENERAL)
{
    CreateControls(this);    

    SetHelpText(_("TODO"));
}
Beispiel #10
0
ecPathOptionsDialog::ecPathOptionsDialog(wxWindow* parent):
    wxPanel(parent, ecID_SETTINGS_PATH)
{
    CreateControls(this);    

    SetHelpText(_("The path options dialog allows you to change tool paths."));
}
Beispiel #11
0
WxGraphs::WxGraphs(wxWindow *parent, ConfigManager *cfg) : wxWindow(parent, wxID_ANY) {
	SetHelpText(_T("draw3-base-win"));

	wxFont f = GetFont();
#ifdef __WXGTK__
	f.SetPointSize(f.GetPointSize() - 2);
#endif
	SetFont(f);

#ifndef NO_GSTREAMER
	m_spectrum_vals.resize(24);

	m_dancing = false;
#endif
	m_bg_view = new BackgroundView(this, cfg);

	SetBackgroundStyle(wxBG_STYLE_CUSTOM);

	SetInfoDropTarget* dt = new SetInfoDropTarget(this);
	SetDropTarget(dt);

	m_screen_margins.leftmargin = 36;
	m_screen_margins.rightmargin = 10;
	m_screen_margins.topmargin = 24;
	m_screen_margins.bottommargin = 12;
	m_screen_margins.infotopmargin = 7;

	m_draw_current_draw_name = false;
	
	m_cfg_mgr = cfg;

	/* Set minimal size of widget. */
	SetSizeHints(300, 200);

}
Beispiel #12
0
ecRunTestsSummaryDialog::ecRunTestsSummaryDialog(wxWindow* parent):
    wxPanel(parent, ecID_RUN_TESTS_SUMMARY)
{
    CreateControls(this);    

    SetHelpText(_("The summary dialog shows a summary of the results of each run."));
}
Beispiel #13
0
ecRunOptionsDialog::ecRunOptionsDialog(wxWindow* parent):
    wxPanel(parent, ecID_SETTINGS_RUN),
    m_serialOn(TRUE), m_TCPIPOn(FALSE)
{
    CreateControls(this);    

    SetHelpText(_("The run properties dialog allows you to change options related to running tests."));
}
Beispiel #14
0
void GraphButton::ToggleState(int st)
{
 state = st;
 SetMan->SetSetting(SETT_DIS_TYPE, st);
 if (st == Z_GRAF)
 {
  SetHelpText(wxString::FromUTF8("Zobrazit obraz."));
  SetToolTip(wxString::FromUTF8("Zobrazit obraz."));
  SetBitmap(normal1);
  SetBitmapHover(hover1);
 } else //state == Z_OBRAZ
 {
  SetHelpText(wxString::FromUTF8("Zobrazit graf."));
  SetToolTip(wxString::FromUTF8("Zobrazit graf."));
  SetBitmap(normal2);
  SetBitmapHover(hover2);
 }
}
Beispiel #15
0
void MaxDemaxButton::ToggleState(bool st)
{
 state = st;
 if (state == ST_MAXED)
 {
  SetHelpText(wxString::FromUTF8("Obnoví aplikaci z maximalizace do okna."));
  SetToolTip(wxString::FromUTF8("Obnovit z maximalizace."));
  SetBitmap(normal1);
  SetBitmapHover(focus1);
  SetBitmapPressed(press1);
 } else //state == ST_WINDO
 {
  SetHelpText(wxString::FromUTF8("Maximalizuje aplikaci."));
  SetToolTip(wxString::FromUTF8("Maximalizovat aplikaci."));
  SetBitmap(normal2);
  SetBitmapHover(focus2);
  SetBitmapPressed(press2);
 }
}
Beispiel #16
0
ecConflictResolutionOptionsDialog::ecConflictResolutionOptionsDialog(wxWindow* parent):
    wxPanel(parent, ecID_SETTINGS_CONFLICT_RESOLUTION)
{
    CreateControls(this);    

    m_suggestFixes = ((wxGetApp().GetSettings().m_nRuleChecking & ecSettings::SuggestFixes) != 0);
    m_immediate = ((wxGetApp().GetSettings().m_nRuleChecking & ecSettings::Immediate) != 0);
    m_deferred = ((wxGetApp().GetSettings().m_nRuleChecking & ecSettings::Deferred) != 0);

    SetHelpText(_("The conflict resolution options dialog allows you to change options related to conflict resolution."));
}
Beispiel #17
0
TimeWidget::TimeWidget(wxWindow* parent, DrawsWidget *draws_widget, PeriodType pt)
        : wxRadioBox(), m_draws_widget(draws_widget), m_previous(0)
{
	SetHelpText(_T("draw3-base-range"));

        wxString time_wdg_choices[] = {
		_("DECADE"),
                _("YEAR"),
                _("MONTH"),
                _("WEEK"),
                _("DAY"),
                _("30 MINUTES"),
                _("SEASON")
        };
        Create(parent, wxID_ANY, 
			_T(""), // label
			wxDefaultPosition, wxDefaultSize,
			7, // number of options
			time_wdg_choices, // options strings array
			1, // number of columns
			wxRA_SPECIFY_COLS | // vertical
			wxSUNKEN_BORDER | 
			wxWANTS_CHARS);
	switch (pt) {
		case PERIOD_T_DECADE:
		        m_selected = 0;
		case PERIOD_T_MONTH:
			m_selected = 2;
			break;
		case PERIOD_T_WEEK:
			m_selected = 3;
			break;
		case PERIOD_T_DAY:
			m_selected = 4;
			break;
		case PERIOD_T_30MINUTE:
			m_selected = 5;
			break;
		case PERIOD_T_SEASON: 
			m_selected = 6;
			break;				     
		default:
		case PERIOD_T_YEAR:
		        m_selected = 1;
	}
        SetSelection(m_selected);
	SetToolTip(_("Select period to display"));
}
Beispiel #18
0
ParamEdit::ParamEdit(wxWindow *parent, ConfigManager *cfg, DatabaseManager *dbmgr, DrawsController *dc) : DBInquirer(dbmgr)
{
	SetHelpText(_T("draw3-ext-expression-searching"));

	m_cfg_mgr = cfg;
	m_draws_ctrl = dc;
	m_base_prefix = dc->GetCurrentDrawInfo()->GetBasePrefix();

	m_widget_mode = EDITING_SEARCH_EXPRESSION;
	m_search_direction = NOT_SEARCHING;

	InitWidget(parent);

	wxSizer* sizer = GetSizer();

	wxButton *ok_button = XRCCTRL(*this, "wxID_OK", wxButton);
	sizer->Show(ok_button->GetContainingSizer(), false, true);
	sizer->Show(m_param_name_input->GetContainingSizer(), false, true);
	sizer->Show(m_unit_input->GetContainingSizer(), false, true);
	sizer->Show(m_datepicker_ctrl_start_date->GetContainingSizer(), false, true);
	sizer->Show(m_button_base_config->GetContainingSizer(), false, true);
	sizer->Show(m_formula_type_choice->GetContainingSizer(), false, true);
	sizer->Show(m_prec_spin->GetContainingSizer(), false, true);
	sizer->Show(XRCCTRL(*this, "param_name_label", wxStaticText), false, true);

#define HIDE_WINDOW(ID, CLASS) \
	{ \
		wxSizer* sizer = XRCCTRL(*this, ID, CLASS)->GetContainingSizer(); \
		sizer->Show(XRCCTRL(*this, ID, CLASS), false, true); \
		sizer->Layout(); \
	};
	HIDE_WINDOW("static_line_unit", wxStaticLine)
	HIDE_WINDOW("static_line_start", wxStaticLine)
	HIDE_WINDOW("static_line_precision", wxStaticLine)

	XRCCTRL(*this, "parameter_formula_label", wxStaticText)->SetLabel(_("Expression:"));

	m_formula_input->SetSize(900, 200);

	SetSize(900, 200);

	sizer->Layout();

	m_formula_input->AppendText(_T("v = "));

	SetTitle(_("Searching date"));

}
Beispiel #19
0
QuitButton::QuitButton(wxFrame *parent, int id) : wxButton(parent, id, wxString::FromUTF8("Konec"), wxDefaultPosition, wxSize(24,24), wxBORDER_NONE|wxBU_EXACTFIT|wxBU_NOTEXT)
{
 normal = wxBitmap(wxT("RC_closeicon"), wxBITMAP_TYPE_ICO_RESOURCE);//wxBITMAP_TYPE_PNG
 //normal = wxBitmap(wxT("RC_closeicon"), wxBITMAP_TYPE_PNG_RESOURCE);
 focus = wxBitmap(wxT("RC_closeiconF"), wxBITMAP_TYPE_ICO_RESOURCE);
 press = wxBitmap(wxT("RC_closeiconP"), wxBITMAP_TYPE_ICO_RESOURCE);

 SetCursor(wxCursor(wxCURSOR_HAND));
 SetHelpText(wxString::FromUTF8("Ukonèi aplikaci spektrograf."));
 SetToolTip(wxString::FromUTF8("Ukonèit program"));
 SetBitmap(normal);
 SetBitmapCurrent(focus);
 //SetBitmapFocus(focus);
 SetBitmapPressed(press);
 SetBackgroundColour(APP_STYLE_MAINBG/*wxTransparentColour*/);
 Align();
}
Beispiel #20
0
ctConfigTreeCtrl::ctConfigTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt,
                                   const wxSize& sz, long style):
wxTreeCtrl(parent, id, pt, sz, style)
{
    LoadIcons();

    m_contextMenu = NULL;
    m_contextMenu = new wxMenu;

    m_contextMenu->Append(ctID_TREE_PASTE_BEFORE, _("Paste &before this option"));
    m_contextMenu->Append(ctID_TREE_PASTE_AFTER, _("Paste &after this option"));
    m_contextMenu->Append(ctID_TREE_PASTE_AS_CHILD, _("Paste as &child of this option"));
    m_contextMenu->AppendSeparator();
    m_contextMenu->Append(ctID_TREE_COPY, _("C&opy"));
    m_contextMenu->Append(ctID_TREE_CUT, _("Cu&t"));

    SetHelpText(_("This shows configuration settings that you can enable and disable."));
}
Beispiel #21
0
SelectDrawWidget::SelectDrawWidget(ConfigManager *cfg, DatabaseManager *dbmgr, DrawsWidget *drawswdg, RemarksHandler *remarks_handler, wxWindow* parent, wxWindowID id): wxScrolledWindow(parent, id, wxDefaultPosition, wxDefaultSize, wxWANTS_CHARS, _T("SelectDrawWidget")), m_remarks_handler(remarks_handler)
{
	assert (cfg != NULL);
	m_cfg = cfg;
	assert(drawswdg != NULL);
	m_draws_wdg = drawswdg;
	assert(dbmgr != NULL);
	m_dbmgr = dbmgr;

	SetHelpText(_T("draw3-base-hidegraphs"));

	wxBoxSizer * sizer1 = new wxBoxSizer(wxVERTICAL);

	int width = GetCheckBoxWidth();
	m_cb_l.resize(MIN_DRAWS_COUNT);

	for (size_t i = 0; i < MIN_DRAWS_COUNT; i++) {
		m_cb_l[i] = new wxCheckBox();
		m_cb_l[i]->Create(this, drawID_SELDRAWCB,
			wxString::Format(_T("%d."), i + 1),
			wxDefaultPosition, wxSize(width, -1), 0,
			SelectDrawValidator(m_draws_wdg, i, m_cb_l[i]));
		m_cb_l[i]->Enable(FALSE);

		m_cb_l[i]->SetToolTip(wxEmptyString);
		m_cb_l[i]->SetBackgroundColour(DRAW3_BG_COLOR);


		sizer1->Add(m_cb_l[i], 0, wxTOP | wxLEFT | wxRIGHT, 1);

#ifdef MINGW32
		m_cb_l[i]->Refresh();
#endif
	}

	SetSizer(sizer1);
	sizer1->SetSizeHints(this);
	sizer1->Layout();

	m_timer = new wxTimer(this, wxID_ANY);

}
Beispiel #22
0
ParamEdit::ParamEdit(wxWindow *parent, ConfigManager *cfg, DatabaseManager *dbmgr, RemarksHandler* remarks_handler) : DBInquirer(dbmgr)
{
	SetHelpText(_T("draw3-ext-parametersset"));
	
	m_widget_mode = EDITING_PARAM;
	m_search_direction = NOT_SEARCHING;

	m_cfg_mgr = cfg;
	m_draws_ctrl = NULL;
	m_remarks_handler = remarks_handler;

	InitWidget(parent);

	wxSizer* sizer = GetSizer();
	wxButton *forward_button = XRCCTRL(*this, "wxID_FORWARD", wxButton);
	sizer->Show(forward_button->GetContainingSizer(), false, true);
	sizer->Show(m_found_date_label->GetContainingSizer(), false, true);
	sizer->Layout();

}
Beispiel #23
0
ScreenshotButton::ScreenshotButton(wxFrame *parent, int id, wxGLCanvasSubClass *grafn) : wxButton(parent, id, wxString::FromUTF8("Ukonèit"), wxDefaultPosition, wxSize(24,24), wxBORDER_NONE|wxBU_EXACTFIT|wxBU_NOTEXT)
{
 normal = wxBitmap(wxT("RC_screenshoticon"), wxBITMAP_TYPE_PNG_RESOURCE);//wxBITMAP_TYPE_PNG
 focus = wxBitmap(wxT("RC_screenshoticonF"), wxBITMAP_TYPE_PNG_RESOURCE);
 press = wxBitmap(wxT("RC_screenshoticonP"), wxBITMAP_TYPE_PNG_RESOURCE);

 graf = grafn;

 SetCursor(wxCursor(wxCURSOR_HAND));
 SetHelpText(wxString::FromUTF8("Uloží aktuální stav okna jako obrázek."));
 SetToolTip(wxString::FromUTF8("Uložit screenshot"));
 SetBitmap(normal);
 SetBitmapHover(focus);
 SetBitmapPressed(press);
 SetBackgroundColour(APP_STYLE_MAINBG);
 Align();
 //wxEVT_COMMAND_RIGHT_DCLICK
 Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ScreenshotButton::onClick), NULL, this);
 //Connect(wxEVT_LEFT_UP, wxMouseEventHandler(ScreenshotButton::onClick));
}
Beispiel #24
0
PauseButton::PauseButton(wxFrame *parent, int id, GraphMemoryMan* gMem) : wxButton(parent, id, wxString::FromUTF8("Pauza"), wxDefaultPosition, wxSize(24,24), wxBORDER_NONE|wxBU_EXACTFIT|wxBU_NOTEXT)
{
 normal = wxBitmap(wxT("RC_pause"), wxBITMAP_TYPE_PNG_RESOURCE);//wxBITMAP_TYPE_PNG
 focus = wxBitmap(wxT("RC_pauseF"), wxBITMAP_TYPE_PNG_RESOURCE);
 press = wxBitmap(wxT("RC_pauseP"), wxBITMAP_TYPE_PNG_RESOURCE);

 graphMemory = gMem;

 SetCursor(wxCursor(wxCURSOR_HAND));
 SetHelpText(wxString::FromUTF8("Uloží a zobrazí pozastavenou stopu grafu."));
 SetToolTip(wxString::FromUTF8("Uložit pozastavený graf"));
 SetBitmap(normal);
 SetBitmapHover(focus);
 SetBitmapPressed(press);
 SetBackgroundColour(APP_STYLE_MAINBG);
 Align();

 //wxEVT_COMMAND_RIGHT_DCLICK
 Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PauseButton::onClick), NULL, this);
 //Connect(wxEVT_LEFT_UP, wxMouseEventHandler(ScreenshotButton::onClick));
}
Beispiel #25
0
SummaryWindow::SummaryWindow(DrawPanel *draw_panel, wxWindow *parent) : 
	wxDialog(parent, drawID_SUMMWIN, _("Summary values"), wxDefaultPosition, wxSize(100, 100), 
			wxDEFAULT_DIALOG_STYLE),
	m_summary_draws_count(0),
	m_update(false),
	m_active(false),
	m_tooltip(false)
{
	SetHelpText(_T("draw3-ext-summaryvalues"));

	wxSizer *sizer = new wxBoxSizer(wxVERTICAL);
	SetSizer(sizer);

	wxStaticText *txt = new wxStaticText(this, wxID_ANY, wxString(_("Summary values")) + _T(":"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT);
	sizer->Add(txt, 0, wxALIGN_CENTER | wxALL, 5);
	sizer->Add(new wxStaticLine(this, wxID_ANY), 0, wxEXPAND);

	m_values_sizer = new wxBoxSizer(wxVERTICAL);

	m_no_draws_label = new TTLabel(this, wxID_ANY);
	m_no_draws_label->Show(true);
	m_no_draws_label->SetForegroundColour(*wxBLACK);
	m_no_draws_label->SetValueText(_("This set does not contain draws for which summary values are calculated."));
	m_values_sizer->Add(m_no_draws_label, 1, wxEXPAND);

	m_no_draws_line = new wxStaticLine(this, wxID_ANY);
	m_values_sizer->Add(m_no_draws_line, 0, wxEXPAND);

	sizer->Add(m_values_sizer, 1, wxEXPAND);

	//sizer->Add(new wxStaticLine(this, wxID_ANY), 0, wxEXPAND);
	sizer->Add(new wxButton(this, wxID_HELP), 0, wxALIGN_CENTER | wxALL, 5);

	sizer->Fit(this);

	this->draw_panel = draw_panel;

	this->draws_controller = NULL;
}
Beispiel #26
0
PreviousButton::PreviousButton(wxFrame *parent, int id, SettingsManager *n_SetMan) : wxButton(parent, id, wxString::FromUTF8("Ukonèit"), wxDefaultPosition, wxSize(24,24), wxBORDER_NONE|wxBU_EXACTFIT|wxBU_NOTEXT)
{
 normal = wxBitmap(wxT("RC_previcon"), wxBITMAP_TYPE_PNG_RESOURCE);//wxBITMAP_TYPE_PNG
 focus = wxBitmap(wxT("RC_previconF"), wxBITMAP_TYPE_PNG_RESOURCE);
 press = wxBitmap(wxT("RC_previconP"), wxBITMAP_TYPE_PNG_RESOURCE);
 SetMan = n_SetMan;

 //Dal doleva uz posouvat nejde
 if (SetMan->GetSetting(SETT_CAM_N) <= 1)
  Enable(false);

 SetCursor(wxCursor(wxCURSOR_HAND));
 SetHelpText(wxString::FromUTF8("Použije pøedchozí kameru."));
 SetToolTip(wxString::FromUTF8("Pøedchozí kamera"));
 SetBitmap(normal);
 SetBitmapHover(focus);
 SetBitmapPressed(press);
 SetBackgroundColour(APP_STYLE_MAINBG);
 Align();
 //wxEVT_COMMAND_RIGHT_DCLICK
 Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PreviousButton::onClick), NULL, this);
 //Connect(wxEVT_LEFT_UP, wxMouseEventHandler(ScreenshotButton::onClick));
}
Beispiel #27
0
ecRunTestsDialog::ecRunTestsDialog(wxWindow* parent):
    wxDialog(),
    m_runStatus(ecStopped),
    m_nNextToSubmit(-1),
    m_pResource(NULL),
    m_testsAreComplete(FALSE)
{
    m_runTestsDialog = this;

    SetExtraStyle(wxDIALOG_EX_CONTEXTHELP);

    wxDialog::Create(parent, ecID_RUN_TESTS_DIALOG, _("Run Tests"), wxPoint(0, 0), wxSize(PROPERTY_DIALOG_WIDTH, PROPERTY_DIALOG_HEIGHT),
        wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);

    // Under MSW, we don't seem to be able to react to a click on the dialog background (no
    // event is generated).
    SetHelpText(_("Run tests from this dialog."));

    wxScreenDC dc;
    wxSize ppi = dc.GetPPI();

    //double scaleFactor = ((double) charH) / 13.0;
    double scaleFactor = ((double) ppi.y) / 96.0;
    // Fudge the scale factor to make the dialog slightly smaller,
    // otherwise it's a bit big. (We're assuming that most displays
    // are 96 or 120 ppi).
    if (ppi.y == 120)
        scaleFactor = 1.14;
    int dialogWidth = (int)(PROPERTY_DIALOG_WIDTH * scaleFactor);
    int dialogHeight = (int)(PROPERTY_DIALOG_HEIGHT * scaleFactor);
    SetSize(dialogWidth, dialogHeight);
        
    m_notebook = new wxNotebook(this, ecID_RUN_TESTS_NOTEBOOK,
         wxPoint(2, 2), wxSize(PROPERTY_DIALOG_WIDTH - 4, PROPERTY_DIALOG_HEIGHT - 4));

    m_executables = new ecRunTestsExecutablesDialog(m_notebook);
    m_notebook->AddPage(m_executables, wxT("Executables"));
    m_executables->TransferDataToWindow();

    m_output = new ecRunTestsOutputDialog(m_notebook);
    m_notebook->AddPage(m_output, wxT("Output"));
    m_output->TransferDataToWindow();

    m_summary = new ecRunTestsSummaryDialog(m_notebook);
    m_notebook->AddPage(m_summary, wxT("Summary"));
    m_summary->TransferDataToWindow();

    wxSizer *item0 = new wxBoxSizer( wxVERTICAL );

    item0->Add( m_notebook, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );

    wxSizer *item1 = new wxBoxSizer( wxHORIZONTAL );

    wxButton *runButton = new wxButton( this, ecID_RUN_TESTS_RUN, "&Run", wxDefaultPosition, wxDefaultSize, 0 );
    item1->Add( runButton, 0, wxALIGN_CENTRE|wxALL, 5 );

    wxButton *okButton = new wxButton( this, wxID_OK, "&Close", wxDefaultPosition, wxDefaultSize, 0 );
    item1->Add( okButton, 0, wxALIGN_CENTRE|wxALL, 5 );

    wxButton *propertiesButton = new wxButton( this, ecID_RUN_TESTS_PROPERTIES, "&Properties...", wxDefaultPosition, wxDefaultSize, 0 );
    item1->Add( propertiesButton, 0, wxALIGN_CENTRE|wxALL, 5 );

/*
    wxButton *helpButton = new wxButton( this, wxID_HELP, "&Help", wxDefaultPosition, wxDefaultSize, 0 );
    item1->Add( helpButton, 0, wxALIGN_CENTRE|wxALL, 5 );
*/

#ifdef __WXGTK__
    // Context-sensitive help button (question mark)
    wxButton *contextButton = new wxContextHelpButton( this );
    item1->Add( contextButton, 0, wxALIGN_CENTRE|wxALL, 5 );
#endif

    // Necessary to add a spacer or the button highlight interferes with the notebook under wxGTK
    item0->Add( 4, 4, 0, wxALIGN_CENTRE|wxALL, 0 );

    item0->Add( item1, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 0 );

    this->SetAutoLayout( TRUE );
    this->SetSizer( item0 );

    okButton->SetDefault();
    okButton->SetFocus();

    Layout();

    m_executables->Layout();
    m_output->Layout();
    m_summary->Layout();

    okButton->SetHelpText(_("Closes the dialog."));
    runButton->SetHelpText(_("Runs one or more tests selected in the Executables window."));
    propertiesButton->SetHelpText(_("Shows timeout and connection properties."));
    //helpButton->SetHelpText(_("Invokes help for the selected dialog."));

    Centre(wxBOTH);

    // TODO: Is this necessary?
#if 0
    m_prop.Add(_T("Active timeout"),        wxGetApp().GetSettings().GetRunTestsSettings().m_nTimeout);
    m_prop.Add(_T("Download timeout"),      wxGetApp().GetSettings().GetRunTestsSettings().m_nDownloadTimeout);
    m_prop.Add(_T("Active timeout type"),   wxGetApp().GetSettings().GetRunTestsSettings().m_nTimeoutType);
    m_prop.Add(_T("Download timeout type"), wxGetApp().GetSettings().GetRunTestsSettings().m_nDownloadTimeoutType);
    m_prop.Add(_T("Remote"),                wxGetApp().GetSettings().GetRunTestsSettings().m_bRemote);
    m_prop.Add(_T("Serial"),                wxGetApp().GetSettings().GetRunTestsSettings().m_bSerial);
    m_prop.Add(_T("Port"),                  wxGetApp().GetSettings().GetRunTestsSettings().m_strPort);
    m_prop.Add(_T("Baud"),                  wxGetApp().GetSettings().GetRunTestsSettings().m_nBaud);
    m_prop.Add(_T("Local TCPIP Host"),      wxGetApp().GetSettings().GetRunTestsSettings().m_strLocalTCPIPHost);
    m_prop.Add(_T("Local TCPIP Port"),      wxGetApp().GetSettings().GetRunTestsSettings().m_nLocalTCPIPPort);
    m_prop.Add(_T("Reset Type"),            wxGetApp().GetSettings().GetRunTestsSettings().m_nReset);
    m_prop.Add(_T("Reset String"),          wxGetApp().GetSettings().GetRunTestsSettings().m_strReset);
    m_prop.Add(_T("Resource Host"),         wxGetApp().GetSettings().GetRunTestsSettings().m_strResourceHost);
    m_prop.Add(_T("Resource Port"),         wxGetApp().GetSettings().GetRunTestsSettings().m_nResourcePort);
    m_prop.Add(_T("Remote Host"),           wxGetApp().GetSettings().GetRunTestsSettings().m_strRemoteHost);
    m_prop.Add(_T("Remote Port"),           wxGetApp().GetSettings().GetRunTestsSettings().m_nRemotePort);
    // TODO
    //m_prop.Add(_T("Recurse"),   executionpage.m_bRecurse);
    m_prop.Add(_T("Farmed"),                wxGetApp().GetSettings().GetRunTestsSettings().m_bFarmed);
    // TODO
    // m_prop.Add(_T("Extension"),executionpage.m_strExtension);
#endif

#ifdef _DEBUG
    CeCosTrace::EnableTracing(CeCosTrace::TRACE_LEVEL_TRACE);
#endif
    CeCosTrace::SetInteractive(TRUE);
    CeCosTrace::SetOutput(TestOutputCallback, this);
    CeCosTrace::SetError (TestOutputCallback, this);

    m_timer.Start(200);
}
Beispiel #28
0
StatDialog::StatDialog(wxWindow *parent, wxString prefix, DatabaseManager *db, ConfigManager *cfg, RemarksHandler *rh, TimeInfo time, DrawInfoList user_draws) :
    szFrame(parent,
            wxID_ANY,
            _("Statistics window"),
            wxDefaultPosition,
            wxDefaultSize,
            wxDEFAULT_FRAME_STYLE | wxTAB_TRAVERSAL),
    DBInquirer(db),
    m_period(time.period),
    m_start_time(time.begin_time),
    m_current_time(time.begin_time),
    m_end_time(time.end_time),
    m_tofetch(0)
{
    SetHelpText(_T("draw3-ext-meanvalues"));

    cfg->RegisterConfigObserver(this);

    wxPanel* panel = new wxPanel(this);

    wxString period_choices[PERIOD_T_SEASON] =
    { _("DECADE"), _("YEAR"), _("MONTH"), _("WEEK"), _("DAY"), _("30 MINUTES") };

    wxStaticText *label;
    wxStaticLine *line;
    wxButton *button;

    m_config_manager = cfg;
    m_database_manager = db;

    m_draw_search = new IncSearch(m_config_manager, rh, prefix, this, wxID_ANY, _("Choose draw"), false, true, true, m_database_manager);

    wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL);
    label = new wxStaticText(panel, wxID_ANY, wxString(_T(" ")) + _("Choose graph parameters") + _T(": "));

    sizer->Add(label, 0, wxALIGN_CENTER | wxALL, 5);

    wxStaticBoxSizer *sizer_1 = new wxStaticBoxSizer(wxVERTICAL, panel, wxString(_T(" ")) + _("Draw") + _T(": "));
    button = new wxButton(panel, STAT_DRAW_BUTTON, _("Change draw"));
    sizer_1->Add(button, 1, wxEXPAND);

    sizer->Add(sizer_1, 0, wxEXPAND | wxALL, 5);

    wxStaticBoxSizer *sizer_2 = new wxStaticBoxSizer(wxVERTICAL, panel, wxString(_T(" ")) + _("Time range") + _T(": "));

    wxFlexGridSizer* sizer_2_1 = new wxFlexGridSizer(2, 5, 5);
    sizer_2_1->AddGrowableCol(1);
    label = new wxStaticText(panel, wxID_ANY, _("Start time:"));
    sizer_2_1->Add(label, 0, wxALIGN_CENTER | wxALL, 5);
    button = new wxButton(panel, STAT_START_TIME, FormatTime(m_start_time.GetTime(), m_period));
    button->SetFocus();
    sizer_2_1->Add(button, 1, wxEXPAND);

    label = new wxStaticText(panel, wxID_ANY, _("End time:"));
    sizer_2_1->Add(label, 0, wxALIGN_CENTER | wxALL, 5);
    button = new wxButton(panel, STAT_END_TIME, FormatTime(m_end_time.GetTime(), m_period));
    sizer_2_1->Add(button, 1, wxEXPAND);

    sizer_2->Add(sizer_2_1, 0, wxEXPAND | wxALL, 5);

    sizer->Add(sizer_2, 0, wxEXPAND | wxALL, 5);

    line = new wxStaticLine(panel);
    sizer->Add(line, 0, wxEXPAND, 5);

    wxStaticBoxSizer* sizer_3 = new wxStaticBoxSizer(wxVERTICAL, panel, wxString(_T(" ")) + _("Period") + _T(": "));
    line = new wxStaticLine(panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL);
    m_period_choice = new wxChoice(panel, STAT_CHOICE_PERIOD, wxDefaultPosition, wxDefaultSize, PERIOD_T_SEASON, period_choices);

    sizer_3->Add(m_period_choice, 0, wxALIGN_CENTER | wxALL, 5);
    sizer->Add(sizer_3, 0, wxEXPAND | wxALL, 5);

    wxStaticBoxSizer* sizer_4 = new wxStaticBoxSizer(wxVERTICAL, panel, wxString(_T(" ")) + _("Values") + _T(": "));
    wxPanel *subpanel = new wxPanel(panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxWANTS_CHARS);

    wxFlexGridSizer *subpanel_sizer = new wxFlexGridSizer(2, 5, 5);
    subpanel_sizer->AddGrowableCol(2);

    label = new wxStaticText(subpanel, wxID_ANY, wxString(_("Minimum value")) + _T(":"));
    subpanel_sizer->Add(label, wxALIGN_LEFT | wxALL, 10);
    m_min_value_text = new wxStaticText(subpanel, wxID_ANY, _T(""));
    subpanel_sizer->Add(m_min_value_text, wxEXPAND | wxALL, 10);

    label = new wxStaticText(subpanel, wxID_ANY, wxString(_("Average value")) + _T(":"));
    subpanel_sizer->Add(label, wxALIGN_LEFT | wxLEFT | wxRIGHT, 20);
    m_avg_value_text = new wxStaticText(subpanel, wxID_ANY, _T(""));
    subpanel_sizer->Add(m_avg_value_text, wxEXPAND | wxLEFT | wxRIGHT, 20);

    label = new wxStaticText(subpanel, wxID_ANY, wxString(_("Standard deviation")) + _T(":"));
    subpanel_sizer->Add(label, wxALIGN_LEFT | wxLEFT | wxRIGHT, 20);
    m_stddev_value_text = new wxStaticText(subpanel, wxID_ANY, _T(""));
    subpanel_sizer->Add(m_stddev_value_text, wxEXPAND | wxLEFT | wxRIGHT, 20);

    label = new wxStaticText(subpanel, wxID_ANY, wxString(_("Maximum value")) + _T(":"));
    subpanel_sizer->Add(label, wxALIGN_LEFT | wxLEFT | wxRIGHT, 20);
    m_max_value_text = new wxStaticText(subpanel, wxID_ANY, _T(""));
    subpanel_sizer->Add(m_max_value_text, wxEXPAND | wxLEFT | wxRIGHT, 20);

    label = new wxStaticText(subpanel, wxID_ANY, wxString(_("Hour sum")) + _T(":"));
    subpanel_sizer->Add(label, wxALIGN_LEFT | wxLEFT | wxRIGHT, 20);
    m_hsum_value_text = new wxStaticText(subpanel, wxID_ANY, _T(""));
    subpanel_sizer->Add(m_hsum_value_text, wxEXPAND | wxLEFT | wxRIGHT, 20);

    subpanel->SetSizer(subpanel_sizer);

    sizer_4->Add(subpanel, 0, wxEXPAND, 0);

    sizer->Add(sizer_4, 0, wxEXPAND | wxALL, 10);

    wxBoxSizer *sizer_5 = new wxBoxSizer(wxHORIZONTAL);
    button = new wxButton(panel, wxID_OK, _("OK"));
    button->SetDefault();
    sizer_5->Add(button, 0, wxALL, 10);
    button = new wxButton(panel, wxID_CLOSE , _("Close"));
    sizer_5->Add(button, 0, wxALL, 10);

    button = new wxButton(panel, wxID_HELP, _("Help"));
    sizer_5->Add(button, 0, wxALL, 10);

    sizer->Add(sizer_5, 1, wxALIGN_CENTER | wxALL, 10);
    panel->SetSizer(sizer);

    wxSizer *ws = new wxBoxSizer(wxHORIZONTAL);
    ws->Add(panel, 1, wxEXPAND);
    SetSizer(ws);
    ws->SetSizeHints(this);

    SetDrawInfo( user_draws.GetSelectedDraw() );

    // use enum position
    m_period_choice->SetSelection(time.period);

    DrawInfoDropTarget* dt = new DrawInfoDropTarget(this);
    SetDropTarget(dt);

    Show(true);
}
Beispiel #29
0
InfoWidget::InfoWidget(wxWindow *parent, wxWindowID id) :
	wxPanel(parent, id, wxDefaultPosition, wxDefaultSize, wxWANTS_CHARS)
{
	SetHelpText(_T("draw3-base-win"));
#ifdef MINGW32
	value_panel = new wxPanel(this, -1, wxDefaultPosition);
	value_panel2 = new wxPanel(this, -1, wxDefaultPosition);
#else
	value_panel = new wxPanel(this, -1, wxDefaultPosition,
			wxDefaultSize, wxSIMPLE_BORDER);
	value_panel2 = new wxPanel(this, -1, wxDefaultPosition,
			wxDefaultSize, wxSIMPLE_BORDER);
#endif
	current_value = value_text = new wxStaticText(value_panel, -1,
			_T(" "), wxDefaultPosition, wxSize(130, -1),
			wxALIGN_CENTER | wxST_NO_AUTORESIZE);
	other_value = value_text2 = new wxStaticText(value_panel2, -1,
			_T(" "), wxDefaultPosition, wxSize(130, -1),
			wxALIGN_CENTER | wxST_NO_AUTORESIZE);
	
	wxBoxSizer *panel_sizer = new wxBoxSizer(wxVERTICAL);
	panel_sizer->Add(value_text, 1, wxEXPAND | wxALL, 2);
	value_panel->SetSizer(panel_sizer);
	panel_sizer->SetSizeHints(value_panel);

	wxBoxSizer *panel_sizer2 = new wxBoxSizer(wxVERTICAL);
	panel_sizer2->Add(value_text2, 1, wxEXPAND | wxALL, 2);
	value_panel2->SetSizer(panel_sizer2);
	panel_sizer2->SetSizeHints(value_panel2);

	current_date = date_text = new wxStaticText(this, -1,
			_T(" "), wxDefaultPosition);
	other_date = date_text2 = new wxStaticText(this, -1,
			_T(" "), wxDefaultPosition);

	avg_text = new wxStaticText(this, -1,
			_T(" "), wxDefaultPosition); 
		
	sizer1 = new wxBoxSizer(wxVERTICAL);
	wxBoxSizer *sizer1_1 = new wxBoxSizer(wxHORIZONTAL);
	sizer1_2 = new wxBoxSizer(wxHORIZONTAL);

	sizer1_1->Add(value_panel, 0);//, wxALIGN_CENTRE_VERTICAL);
	sizer1_1->Add(date_text, 0);//, wxALIGN_CENTRE_VERTICAL | wxALIGN_LEFT);

	sizer1_2->Add(value_panel2, 0); //, wxALIGN_CENTRE_VERTICAL);
	sizer1_2->Add(date_text2, 0); //, wxALIGN_CENTRE_VERTICAL | wxALIGN_LEFT);

	sizer1->Add(sizer1_1, 0, wxEXPAND);
	sizer1->Add(sizer1_2, 0, wxEXPAND);
	sizer1->Add(avg_text, 0, wxALIGN_LEFT | wxTOP, 2);
	SetSizer(sizer1);

	ShowExtraPanel(false);
	
	m_update_time = 
		m_update_values =
		m_update_current_value = false;

	m_double_cursor = false;

	//sizer1->SetSizeHints(this);

	m_draw = NULL;
}
Beispiel #30
0
ModelDialog::ModelDialog(wxWindow* parent,wxWindowID id)
{
    //(*Initialize(ModelDialog)
    wxFlexGridSizer* FlexGridSizer4;
    wxFlexGridSizer* FlexGridSizer3;
    wxFlexGridSizer* FlexGridSizer5;
    wxFlexGridSizer* FlexGridSizer2;
    wxBoxSizer* BoxSizer2;
    wxBoxSizer* BoxSizer1;
    wxFlexGridSizer* FlexGridSizer1;
    wxStdDialogButtonSizer* StdDialogButtonSizer1;

    Create(parent, wxID_ANY, _("Model"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("wxID_ANY"));
    SetHelpText(_("Pixels Start in the upper left and go right or down depending on Vertical or Horizontal orientation.  Trees are always Vertical."));
    FlexGridSizer1 = new wxFlexGridSizer(0, 3, 0, 0);
    FlexGridSizer2 = new wxFlexGridSizer(0, 2, 0, 0);
    StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Model Name"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1"));
    FlexGridSizer2->Add(StaticText1, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    TextCtrl_Name = new wxTextCtrl(this, ID_TEXTCTRL1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL1"));
    FlexGridSizer2->Add(TextCtrl_Name, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    StaticText5 = new wxStaticText(this, ID_STATICTEXT5, _("Display As"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT5"));
    FlexGridSizer2->Add(StaticText5, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    Choice_DisplayAs = new wxChoice(this, ID_CHOICE1, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_CHOICE1"));
    Choice_DisplayAs->SetSelection( Choice_DisplayAs->Append(_("Tree 360")) );
    Choice_DisplayAs->Append(_("Tree 270"));
    Choice_DisplayAs->Append(_("Tree 180"));
    Choice_DisplayAs->Append(_("Tree 90"));
    Choice_DisplayAs->Append(_("Vert Matrix"));
    Choice_DisplayAs->Append(_("Horiz Matrix"));
    Choice_DisplayAs->Append(_("Single Line"));
    Choice_DisplayAs->Append(_("Arches"));
    Choice_DisplayAs->Append(_("Window Frame"));
    Choice_DisplayAs->Append(_("Custom"));
    FlexGridSizer2->Add(Choice_DisplayAs, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    StaticText_Strings = new wxStaticText(this, ID_STATICTEXT2, _("Actual # of Strings"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2"));
    FlexGridSizer2->Add(StaticText_Strings, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    SpinCtrl_parm1 = new wxSpinCtrl(this, ID_SPINCTRL1, _T("1"), wxDefaultPosition, wxSize(60,21), 0, 1, 100, 1, _T("ID_SPINCTRL1"));
    SpinCtrl_parm1->SetValue(_T("1"));
    FlexGridSizer2->Add(SpinCtrl_parm1, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    StaticText_Nodes = new wxStaticText(this, ID_STATICTEXT3, _("# of RGB Nodes per String"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3"));
    FlexGridSizer2->Add(StaticText_Nodes, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    SpinCtrl_parm2 = new wxSpinCtrl(this, ID_SPINCTRL2, _T("50"), wxDefaultPosition, wxSize(60,21), 0, 1, 300, 50, _T("ID_SPINCTRL2"));
    SpinCtrl_parm2->SetValue(_T("50"));
    FlexGridSizer2->Add(SpinCtrl_parm2, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    StaticText_Strands = new wxStaticText(this, ID_STATICTEXT4, _("# of Strands per String"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT4"));
    StaticText_Strands->SetHelpText(_("How many times is a string folded\?"));
    FlexGridSizer2->Add(StaticText_Strands, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    SpinCtrl_parm3 = new wxSpinCtrl(this, ID_SPINCTRL3, _T("1"), wxDefaultPosition, wxSize(60,21), 0, 1, 100, 1, _T("ID_SPINCTRL3"));
    SpinCtrl_parm3->SetValue(_T("1"));
    FlexGridSizer2->Add(SpinCtrl_parm3, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    StaticText6 = new wxStaticText(this, ID_STATICTEXT6, _("Start Channel"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT6"));
    FlexGridSizer2->Add(StaticText6, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    SpinCtrl_StartChannel = new wxSpinCtrl(this, ID_SPINCTRL4, _T("1"), wxDefaultPosition, wxSize(90,21), 0, 1, 99999, 1, _T("ID_SPINCTRL4"));
    SpinCtrl_StartChannel->SetValue(_T("1"));
    FlexGridSizer2->Add(SpinCtrl_StartChannel, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    StaticText2 = new wxStaticText(this, ID_STATICTEXT7, _("Channel Order"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT7"));
    FlexGridSizer2->Add(StaticText2, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    Choice_Order = new wxChoice(this, ID_CHOICE2, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_CHOICE2"));
    Choice_Order->SetSelection( Choice_Order->Append(_("RGB")) );
    Choice_Order->Append(_("RBG"));
    Choice_Order->Append(_("GBR"));
    Choice_Order->Append(_("GRB"));
    Choice_Order->Append(_("BRG"));
    Choice_Order->Append(_("BGR"));
    FlexGridSizer2->Add(Choice_Order, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    StaticText3 = new wxStaticText(this, ID_STATICTEXT8, _("Starting Corner"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT8"));
    StaticText3->SetHelpText(_("The point at which pixels in your model start."));
    FlexGridSizer2->Add(StaticText3, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    BoxSizer1 = new wxBoxSizer(wxHORIZONTAL);
    RadioButton_TopLeft = new wxRadioButton(this, ID_RADIOBUTTON1, _("Top Left"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP, wxDefaultValidator, _T("ID_RADIOBUTTON1"));
    RadioButton_TopLeft->SetValue(true);
    BoxSizer1->Add(RadioButton_TopLeft, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    RadioButton_TopRight = new wxRadioButton(this, ID_RADIOBUTTON2, _("Top Right"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON2"));
    BoxSizer1->Add(RadioButton_TopRight, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    FlexGridSizer2->Add(BoxSizer1, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    StaticText8 = new wxStaticText(this, ID_STATICTEXT11, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT11"));
    FlexGridSizer2->Add(StaticText8, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    BoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
    RadioButton_BotLeft = new wxRadioButton(this, ID_RADIOBUTTON4, _("Bottom Left"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON4"));
    BoxSizer2->Add(RadioButton_BotLeft, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    RadioButton_BotRight = new wxRadioButton(this, ID_RADIOBUTTON3, _("Bottom Right"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON3"));
    BoxSizer2->Add(RadioButton_BotRight, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    FlexGridSizer2->Add(BoxSizer2, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    StaticText4 = new wxStaticText(this, ID_STATICTEXT9, _("Smooth Edges - antialias\n(future capability)"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT9"));
    FlexGridSizer2->Add(StaticText4, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    Choice_Antialias = new wxChoice(this, ID_CHOICE3, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_CHOICE3"));
    Choice_Antialias->SetSelection( Choice_Antialias->Append(_("None")) );
    Choice_Antialias->Append(_("2x"));
    Choice_Antialias->Disable();
    FlexGridSizer2->Add(Choice_Antialias, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    StaticText7 = new wxStaticText(this, ID_STATICTEXT10, _("Part of my display"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT10"));
    FlexGridSizer2->Add(StaticText7, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    CheckBox_MyDisplay = new wxCheckBox(this, ID_CHECKBOX1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX1"));
    CheckBox_MyDisplay->SetValue(true);
    FlexGridSizer2->Add(CheckBox_MyDisplay, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    StaticText10 = new wxStaticText(this, ID_STATICTEXT13, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT13"));
    FlexGridSizer2->Add(StaticText10, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    FlexGridSizer1->Add(FlexGridSizer2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    FlexGridSizer3 = new wxFlexGridSizer(2, 1, 0, 0);
    FlexGridSizer3->AddGrowableRow(1);
    cbIndividualStartNumbers = new wxCheckBox(this, ID_CHECKBOX2, _("Individual Start Chans"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX2"));
    cbIndividualStartNumbers->SetValue(false);
    FlexGridSizer3->Add(cbIndividualStartNumbers, 1, wxTOP|wxBOTTOM|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 10);
    gridStartChannels = new wxGrid(this, ID_GRID_START_CHANNELS, wxDefaultPosition, wxDefaultSize, wxVSCROLL|wxFULL_REPAINT_ON_RESIZE, _T("ID_GRID_START_CHANNELS"));
    gridStartChannels->CreateGrid(0,1);
    gridStartChannels->EnableEditing(true);
    gridStartChannels->EnableGridLines(true);
    gridStartChannels->SetColLabelSize(20);
    gridStartChannels->SetRowLabelSize(25);
    gridStartChannels->SetDefaultColSize(90, true);
    gridStartChannels->SetColLabelValue(0, _("Start Channel"));
    gridStartChannels->SetDefaultCellFont( gridStartChannels->GetFont() );
    gridStartChannels->SetDefaultCellTextColour( gridStartChannels->GetForegroundColour() );
    FlexGridSizer3->Add(gridStartChannels, 1, wxTOP|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 4);
    FlexGridSizer1->Add(FlexGridSizer3, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    FlexGridSizer4 = new wxFlexGridSizer(2, 1, 0, 0);
    FlexGridSizer4->AddGrowableRow(1);
    FlexGridSizer5 = new wxFlexGridSizer(0, 3, 0, 0);
    StaticTextCustomModel = new wxStaticText(this, ID_STATICTEXT14, _("Custom Model"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT14"));
    FlexGridSizer5->Add(StaticTextCustomModel, 1, wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    ButtonCustomModelHelp = new wxButton(this, ID_BUTTON_CUSTOM_MODEL_HELP, _("Custom Model Help"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON_CUSTOM_MODEL_HELP"));
    FlexGridSizer5->Add(ButtonCustomModelHelp, 1, wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    FlexGridSizer4->Add(FlexGridSizer5, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
    GridCustom = new wxGrid(this, ID_GRID_Custom, wxDefaultPosition, wxSize(300,0), 0, _T("ID_GRID_Custom"));
    GridCustom->CreateGrid(1,1);
    GridCustom->EnableEditing(true);
    GridCustom->EnableGridLines(true);
    GridCustom->SetColLabelSize(20);
    GridCustom->SetRowLabelSize(30);
    GridCustom->SetDefaultColSize(30, true);
    GridCustom->SetDefaultCellFont( GridCustom->GetFont() );
    GridCustom->SetDefaultCellTextColour( GridCustom->GetForegroundColour() );
    FlexGridSizer4->Add(GridCustom, 1, wxTOP|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5);
    FlexGridSizer1->Add(FlexGridSizer4, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StdDialogButtonSizer1 = new wxStdDialogButtonSizer();
    StdDialogButtonSizer1->AddButton(new wxButton(this, wxID_OK, wxEmptyString));
    StdDialogButtonSizer1->AddButton(new wxButton(this, wxID_CANCEL, wxEmptyString));
    StdDialogButtonSizer1->Realize();
    FlexGridSizer1->Add(StdDialogButtonSizer1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    SetSizer(FlexGridSizer1);
    FlexGridSizer1->Fit(this);
    FlexGridSizer1->SetSizeHints(this);
    Center();

    Connect(ID_CHOICE1,wxEVT_COMMAND_CHOICE_SELECTED,(wxObjectEventFunction)&ModelDialog::OnChoice_DisplayAsSelect);
    Connect(ID_SPINCTRL1,wxEVT_COMMAND_SPINCTRL_UPDATED,(wxObjectEventFunction)&ModelDialog::OnSpinCtrl_parm1Change);
    Connect(ID_SPINCTRL2,wxEVT_COMMAND_SPINCTRL_UPDATED,(wxObjectEventFunction)&ModelDialog::OnSpinCtrl_parm2Change);
    Connect(ID_SPINCTRL4,wxEVT_COMMAND_SPINCTRL_UPDATED,(wxObjectEventFunction)&ModelDialog::OnSpinCtrl_StartChannelChange);
    Connect(ID_CHECKBOX2,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&ModelDialog::OncbIndividualStartNumbersClick);
    Connect(ID_GRID_START_CHANNELS,wxEVT_GRID_CELL_CHANGE,(wxObjectEventFunction)&ModelDialog::OngridStartChannelsCellChange);
    Connect(ID_BUTTON_CUSTOM_MODEL_HELP,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ModelDialog::OnButtonCustomModelHelpClick);
    //*)

    gridStartChannels->SetDefaultEditor(new wxGridCellNumberEditor());
    GridCustom->SetDefaultEditor(new wxGridCellNumberEditor());
    UpdateStartChannels();
    HasCustomData = false;
}