Ejemplo n.º 1
0
SliderPanel::SliderPanel(
	wxWindow* parent, MainFrame *myFrame, wxWindowID id, 
	const wxPoint& pos, const wxSize& size, long style)
	: wxPanel(parent, id, pos, size, style)
{ 
	this->myFrame = myFrame;

	SetBackgroundStyle(wxBG_STYLE_CUSTOM);

	// slider
	wxBitmap bmp1 = wxGetBitmapFromMemory(slider_bmp, 
			sizeof(slider_bmp));
	// back
	wxBitmap bmp2 = wxGetBitmapFromMemory(slider_background_bmp, 
			sizeof(slider_background_bmp));
	// slider hover
	wxBitmap bmp3 = wxGetBitmapFromMemory(slider_hover_bmp, 
			sizeof(slider_hover_bmp));

	m_slider = new GSlider(this, wxID_ANY, wxDefaultPosition, wxNO_BORDER, 
			wxT("aaaa"), bmp2, bmp2, bmp1, bmp3, bmp3, bmp3);

	// default value
	SetRange((float)0, (float)100);
	SetValue((float)0);
}
Ejemplo n.º 2
0
	CBreakPointBar(CBreakPointWindow* parent, const wxWindowID id)
		: wxAuiToolBar(parent, id, wxDefaultPosition, wxDefaultSize,
				wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_TEXT)
	{
		SetToolBitmapSize(wxSize(24, 24));

		m_Bitmaps[Toolbar_Delete] = wxBitmap(wxGetBitmapFromMemory(toolbar_delete_png).ConvertToImage().Rescale(24, 24));
		m_Bitmaps[Toolbar_Add_BP] = wxBitmap(wxGetBitmapFromMemory(toolbar_add_breakpoint_png).ConvertToImage().Rescale(24, 24));
		m_Bitmaps[Toolbar_Add_MC] = wxBitmap(wxGetBitmapFromMemory(toolbar_add_memcheck_png).ConvertToImage().Rescale(24, 24));

		AddTool(ID_DELETE, wxT("Delete"), m_Bitmaps[Toolbar_Delete]);
		Bind(wxEVT_COMMAND_TOOL_CLICKED, &CBreakPointWindow::OnDelete, parent, ID_DELETE);

		AddTool(ID_CLEAR, wxT("Clear"), m_Bitmaps[Toolbar_Delete]);
		Bind(wxEVT_COMMAND_TOOL_CLICKED, &CBreakPointWindow::OnClear, parent, ID_CLEAR);

		AddTool(ID_ADDBP, wxT("+BP"), m_Bitmaps[Toolbar_Add_BP]);
		Bind(wxEVT_COMMAND_TOOL_CLICKED, &CBreakPointWindow::OnAddBreakPoint, parent, ID_ADDBP);

		// Add memory breakpoints if you can use them
		if (Memory::AreMemoryBreakpointsActivated())
		{
			AddTool(ID_ADDMC, wxT("+MC"), m_Bitmaps[Toolbar_Add_MC]);
			Bind(wxEVT_COMMAND_TOOL_CLICKED, &CBreakPointWindow::OnAddMemoryCheck, parent, ID_ADDMC);
		}

		AddTool(ID_LOAD, wxT("Load"), m_Bitmaps[Toolbar_Delete]);
		Bind(wxEVT_COMMAND_TOOL_CLICKED, &CBreakPointWindow::LoadAll, parent, ID_LOAD);

		AddTool(ID_SAVE, wxT("Save"), m_Bitmaps[Toolbar_Delete]);
		Bind(wxEVT_COMMAND_TOOL_CLICKED, &CBreakPointWindow::Event_SaveAll, parent, ID_SAVE);
	}
Ejemplo n.º 3
0
void PeakMeter::OnRepeatThis(wxCommandEvent& WXUNUSED(event))
{
	wxBitmap bmp1 = wxGetBitmapFromMemory(repeat_this_bmp, 
			sizeof(repeat_this_bmp));
	wxBitmap bmp2 = wxGetBitmapFromMemory(repeat_this_hover_bmp, 
			sizeof(repeat_this_hover_bmp));
	m_repeatButton->SetBitmap(bmp1, bmp2);
	m_repeatButton->SetToolTip(wxT("Choose Repeat mode (Repeat This)"));
	m_repeatMode=REPEAT_THIS;
}
Ejemplo n.º 4
0
// Toolbar
void CCodeWindow::InitBitmaps()
{
	// load original size 48x48
	m_Bitmaps[Toolbar_Step] = wxGetBitmapFromMemory(toolbar_add_breakpoint_png);
	m_Bitmaps[Toolbar_StepOver] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);
	m_Bitmaps[Toolbar_Skip] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);
	m_Bitmaps[Toolbar_GotoPC] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);
	m_Bitmaps[Toolbar_SetPC] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);

	// scale to 24x24 for toolbar
	for (auto& bitmap : m_Bitmaps)
		bitmap = wxBitmap(bitmap.ConvertToImage().Scale(24, 24));
}
Ejemplo n.º 5
0
// Toolbar
void CCodeWindow::InitBitmaps()
{
	// load original size 48x48
	m_Bitmaps[Toolbar_Step] = wxGetBitmapFromMemory(toolbar_add_breakpoint_png);
	m_Bitmaps[Toolbar_StepOver] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);
	m_Bitmaps[Toolbar_Skip] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);
	m_Bitmaps[Toolbar_GotoPC] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);
	m_Bitmaps[Toolbar_SetPC] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);

	// scale to 24x24 for toolbar
	for (size_t n = 0; n < ToolbarDebugBitmapMax; n++)
		m_Bitmaps[n] = wxBitmap(m_Bitmaps[n].ConvertToImage().Scale(24, 24));
}
Ejemplo n.º 6
0
CRenderFrame::CRenderFrame(wxFrame* parent, wxWindowID id, const wxString& title,
		const wxPoint& pos, const wxSize& size,	long style)
	: wxFrame(parent, id, title, pos, size, style)
{
	// Give it an icon
	wxIcon IconTemp;
	IconTemp.CopyFromBitmap(wxGetBitmapFromMemory(dolphin_ico32x32));
	SetIcon(IconTemp);
}
Ejemplo n.º 7
0
void ButtonPanel::DrawButton(wxPaintDC &dc)
{
	int totalWidth=0;
	int maxHeight = m_playButton->GetSize().GetHeight();
	totalWidth+=m_playButton->GetSize().GetWidth();
	totalWidth+=m_previousButton->GetSize().GetWidth();
	totalWidth+=m_stopButton->GetSize().GetWidth();
	totalWidth+=m_nextButton->GetSize().GetWidth();
	totalWidth+=m_browseButton->GetSize().GetWidth();
	totalWidth+=m_slider->GetSize().GetWidth();
	totalWidth+=25;
	
	wxSize size = GetSize();

	// draw background
	wxBitmap bg = wxGetBitmapFromMemory(panel_background_bmp, 
			sizeof(panel_background_bmp));
	for(int x=0; x<size.GetWidth(); x+=bg.GetWidth())
		dc.DrawBitmap(bg, x, 0, true);
	
	// previous
	int x = (size.GetWidth()-totalWidth)/2;
	wxSize buttonSize = m_previousButton->GetSize();
	int y = (maxHeight-buttonSize.GetHeight())/2;
	m_previousButton->Move(wxPoint(x,y));

	// stop
	x = x + buttonSize.GetWidth()+5;
	buttonSize = m_stopButton->GetSize();
	y = (maxHeight-buttonSize.GetHeight())/2;
	m_stopButton->Move(wxPoint(x,y));
	
	// play
	x = x + buttonSize.GetWidth()+5;
	buttonSize = m_playButton->GetSize();
	y = (maxHeight-buttonSize.GetHeight())/2;
	m_playButton->Move(wxPoint(x,y));
	
	// next
	x = x + buttonSize.GetWidth()+5;
	buttonSize = m_nextButton->GetSize();
	y = (maxHeight-buttonSize.GetHeight())/2;
	m_nextButton->Move(wxPoint(x,y));
	
	// browse
	x = x + buttonSize.GetWidth()+10;
	buttonSize = m_browseButton->GetSize();
	y = (maxHeight-buttonSize.GetHeight())/2;
	m_browseButton->Move(wxPoint(x,y));
	
	// volume slider
	x = x + buttonSize.GetWidth()+20;
	buttonSize = m_slider->GetSize();
	y = (maxHeight-buttonSize.GetHeight())/2;
	m_slider->Move(wxPoint(x,y));
}
Ejemplo n.º 8
0
CWatchToolbar(CWatchWindow* parent, const wxWindowID id)
	: wxAuiToolBar(parent, id, wxDefaultPosition, wxDefaultSize,
			wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_TEXT)
{
	SetToolBitmapSize(wxSize(16, 16));

	m_Bitmaps[Toolbar_File] = wxBitmap(wxGetBitmapFromMemory(toolbar_delete_png).ConvertToImage().Rescale(16, 16));

	AddTool(ID_LOAD, _("Load"), m_Bitmaps[Toolbar_File]);
	Bind(wxEVT_TOOL, &CWatchWindow::Event_LoadAll, parent, ID_LOAD);

	AddTool(ID_SAVE, _("Save"), m_Bitmaps[Toolbar_File]);
	Bind(wxEVT_TOOL, &CWatchWindow::Event_SaveAll, parent, ID_SAVE);
}
Ejemplo n.º 9
0
ListPanel::ListPanel(wxWindow *frame,
      wxWindow *parent,
      wxWindowID id,
      const wxPoint &pos,
      const wxSize &size,
      long style,
      const wxString& name) :
wxPanel(parent, id, pos, size, style, name)//,
//m_frame(frame)
{
	SetEvtHandlerEnabled(false);
	Freeze();

   //create data list
   m_datalist = new DataListCtrl(frame, this, wxID_ANY);

   //create tool bar
   m_toolbar = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
         wxTB_FLAT|wxTB_TOP|wxTB_NODIVIDER);
   m_toolbar->AddTool(ID_AddToView, "Add to View",
         wxGetBitmapFromMemory(listicon_view),
         "Add: Add the selected dataset to render view");
   m_toolbar->AddTool(ID_Rename, "Rename",
         wxGetBitmapFromMemory(listicon_rename),
         "Rename: Rename the selected dataset");
   m_toolbar->AddTool(ID_Save, "Save As",
         wxGetBitmapFromMemory(listicon_save),
         "Save: Save the selected volume dataset");
   m_toolbar->AddTool(ID_Bake, "Bake",
         wxGetBitmapFromMemory(listicon_bake),
         "Bake: Apply the volume properties and save");
   m_toolbar->AddTool(ID_Delete, "Delete",
         wxGetBitmapFromMemory(listicon_delete),
         "Delete: Delete the selected dataset");
   m_toolbar->AddTool(ID_DeleteAll, "Delete All",
         wxGetBitmapFromMemory(listicon_delall),
         "Delete All: Delete all datasets");
   m_toolbar->Realize();

   //organize positions
   wxBoxSizer* sizer_v = new wxBoxSizer(wxVERTICAL);

   sizer_v->Add(m_toolbar, 0, wxEXPAND);
   sizer_v->Add(m_datalist, 1, wxEXPAND);

   SetSizer(sizer_v);
   Layout();

	Thaw();
	SetEvtHandlerEnabled(true);
}
Ejemplo n.º 10
0
ButtonPanel::ButtonPanel(
	wxWindow* parent, MainFrame *myFrame, wxWindowID id, 
	const wxPoint& pos, const wxSize& size, long style)
	: wxPanel(parent, id, pos, size, style)
{ 
	this->myFrame = myFrame;

	SetBackgroundStyle(wxBG_STYLE_CUSTOM);

	wxBitmap bmp1 = wxGetBitmapFromMemory(previous_bmp, 
			sizeof(previous_bmp));
	wxBitmap bmp2 = wxGetBitmapFromMemory(previous_hover_bmp, 
			sizeof(previous_hover_bmp));
	wxBitmap bmp3 = wxGetBitmapFromMemory(previous_clicked_bmp, 
			sizeof(previous_clicked_bmp));
	m_previousButton= new GButton(this, wxID_ANY, 
			wxDefaultPosition, bmp1, bmp2, bmp3);
	m_previousButton->SetToolTip(wxT("Previous"));
	Connect(m_previousButton->GetId(), wxEVT_COMMAND_GBUTTON,
			(wxObjectEventFunction) (wxEventFunction) &ButtonPanel::OnPrev);
	
	bmp1 = wxGetBitmapFromMemory(stop_bmp, 
			sizeof(stop_bmp));
	bmp2 = wxGetBitmapFromMemory(stop_hover_bmp, 
			sizeof(stop_hover_bmp));
	bmp3 = wxGetBitmapFromMemory(stop_clicked_bmp, 
			sizeof(stop_clicked_bmp));
	m_stopButton = new GButton(this, wxID_ANY, 
			wxDefaultPosition, bmp1, bmp2, bmp3);
	m_stopButton->SetToolTip(wxT("Stop"));
	Connect(m_stopButton->GetId(), wxEVT_COMMAND_GBUTTON,
			(wxObjectEventFunction) (wxEventFunction) &ButtonPanel::OnStop);

	bmp1 = wxGetBitmapFromMemory(play_bmp, 
			sizeof(play_bmp));
	bmp2 = wxGetBitmapFromMemory(play_hover_bmp, 
			sizeof(play_hover_bmp));
	bmp3 = wxGetBitmapFromMemory(play_clicked_bmp, 
			sizeof(play_clicked_bmp));
	m_playButton = new GButton(this, wxID_ANY, 
			wxDefaultPosition, bmp1, bmp2, bmp3);
	m_playButton->SetToolTip(wxT("Play"));
	Connect(m_playButton->GetId(), wxEVT_COMMAND_GBUTTON,
			(wxObjectEventFunction) (wxEventFunction) &ButtonPanel::OnPlay);
	
	bmp1 = wxGetBitmapFromMemory(next_bmp, sizeof(next_bmp));
	bmp2 = wxGetBitmapFromMemory(next_hover_bmp, sizeof(next_hover_bmp));
	bmp3 = wxGetBitmapFromMemory(next_clicked_bmp, sizeof(next_clicked_bmp));
	m_nextButton = new GButton(this, wxID_ANY, 
			wxDefaultPosition, bmp1, bmp2, bmp3);
	m_nextButton->SetToolTip(wxT("Next"));
	Connect(m_nextButton->GetId(), wxEVT_COMMAND_GBUTTON,
			(wxObjectEventFunction) (wxEventFunction) &ButtonPanel::OnNext);
	
	bmp1 = wxGetBitmapFromMemory(browse_bmp, sizeof(browse_bmp));
	bmp2 = wxGetBitmapFromMemory(browse_hover_bmp, sizeof(browse_hover_bmp));
	bmp3 = wxGetBitmapFromMemory(browse_clicked_bmp, sizeof(browse_clicked_bmp));
	m_browseButton = new GButton(this, wxID_ANY, 
			wxDefaultPosition, bmp1, bmp2, bmp3);
	m_browseButton->SetToolTip(wxT("Open File(s)"));
	Connect(m_browseButton->GetId(), wxEVT_COMMAND_GBUTTON,
			(wxObjectEventFunction) (wxEventFunction) &ButtonPanel::OnOpenFiles);
	
	bmp1 = wxGetBitmapFromMemory(volume_slider_bmp, sizeof(volume_slider_bmp));
	bmp2 = wxGetBitmapFromMemory(volume_background_bmp, 
			sizeof(volume_background_bmp));
	bmp3 = wxGetBitmapFromMemory(volume_slider_hover_bmp, 
			sizeof(volume_slider_hover_bmp));

	m_slider = new GSlider(this, wxID_ANY, wxDefaultPosition, wxNO_BORDER, 
			wxT("aaaa"), bmp2, bmp2, bmp1, bmp3, bmp3, bmp3);
	m_slider->SetToolTip(wxT("Volume 100%"));
	Connect(m_slider->GetId(), wxEVT_COMMAND_GSLIDER,
			(wxObjectEventFunction) (wxEventFunction) &ButtonPanel::OnChange);
	Connect(m_slider->GetId(), wxEVT_LEFT_UP_GSLIDER,
			(wxObjectEventFunction) (wxEventFunction) &ButtonPanel::OnChangeComplete);

	// default value
	SetRange((float)0, (float)128);
	SetValue((float)m_volume);
}
Ejemplo n.º 11
0
	BrushToolDlg::BrushToolDlg(wxWindow *frame, wxWindow *parent)
	: wxPanel(parent, wxID_ANY,
	wxPoint(500, 150),
	wxSize(400, 550),
	0, "BrushToolDlg"),
	m_frame(parent),
	m_cur_view(0),
	m_vol1(0),
	m_vol2(0),
	m_max_value(255.0),
	m_dft_ini_thresh(0.0),
	m_dft_gm_falloff(0.0),
	m_dft_scl_falloff(0.0),
	m_dft_scl_translate(0.0),
	m_dft_ca_min(0.0),
	m_dft_ca_max(0.0),
	m_dft_ca_thresh(0.0),
	m_dft_ca_falloff(1.0),
	m_dft_nr_thresh(0.0),
	m_dft_nr_size(0.0)
{
	if (!((VRenderFrame*)m_frame)->GetFreeVersion())
		SetSize(400, 750);
	//validator: floating point 1
	wxFloatingPointValidator<double> vald_fp1(1);
	//validator: floating point 2
	wxFloatingPointValidator<double> vald_fp2(2);
	//validator: integer
	wxIntegerValidator<unsigned int> vald_int;

	wxStaticText *st = 0;

	//group1
	//paint tools
	wxBoxSizer *group1 = new wxStaticBoxSizer(
		new wxStaticBox(this, wxID_ANY, "Selection"),
		wxVERTICAL);

	//toolbar
	m_toolbar = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
		wxTB_FLAT|wxTB_TOP|wxTB_NODIVIDER|wxTB_TEXT);
	m_toolbar->AddTool(ID_BrushUndo, "Undo",
		wxGetBitmapFromMemory(undo),
		"Rollback previous brush operation");
	m_toolbar->AddTool(ID_BrushRedo, "Redo",
		wxGetBitmapFromMemory(redo),
		"Redo the rollback brush operation");
	m_toolbar->AddSeparator();
	m_toolbar->AddCheckTool(ID_BrushAppend, "Select",
		wxGetBitmapFromMemory(listicon_brushappend),
		wxNullBitmap,
		"Highlight structures by painting on the render view (hold Shift)");
	m_toolbar->AddCheckTool(ID_BrushDiffuse, "Diffuse",
		wxGetBitmapFromMemory(listicon_brushdiffuse),
		wxNullBitmap,
		"Diffuse highlighted structures by painting (hold Z)");
	m_toolbar->AddCheckTool(ID_BrushSolid, "Solid",
		wxGetBitmapFromMemory(listicon_brushsolid),
		wxNullBitmap,
		"Highlight structures with solid mask");
	m_toolbar->AddCheckTool(ID_BrushDesel, "Unselect",
		wxGetBitmapFromMemory(listicon_brushdesel),
		wxNullBitmap,
		"Reset highlighted structures by painting (hold X)");
	m_toolbar->AddTool(ID_BrushClear, "Reset All",
		wxGetBitmapFromMemory(listicon_brushclear),
		"Reset all highlighted structures");
	m_toolbar->AddSeparator();
	m_toolbar->AddTool(ID_BrushErase, "Erase",
		wxGetBitmapFromMemory(listicon_brusherase),
		"Erase highlighted structures");
	m_toolbar->AddTool(ID_BrushCreate, "Extract",
		wxGetBitmapFromMemory(listicon_brushcreate),
		"Extract highlighted structures out and create a new volume");
	//m_toolbar->AddSeparator();
	//m_toolbar->AddTool(ID_HelpBtn, "Help",
	//      wxGetBitmapFromMemory(listicon_qmark),
	//      "Help on the settings");
	m_toolbar->Realize();

	//Selection adjustment
	wxBoxSizer *sizer11 = new wxStaticBoxSizer(
		new wxStaticBox(this, wxID_ANY, "Selection Settings"),
		wxVERTICAL);
	//stop at boundary
	wxBoxSizer *sizer11_1 = new wxBoxSizer(wxHORIZONTAL);
	m_estimate_thresh_chk = new wxCheckBox(this, ID_EstimateThreshChk, "Auto Thresh:",
		wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT);
	m_edge_detect_chk = new wxCheckBox(this, ID_BrushEdgeDetectChk, "Edge Detect:",
		wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT);
	m_hidden_removal_chk = new wxCheckBox(this, ID_BrushHiddenRemovalChk, "Visible Only:",
		wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT);
	m_select_group_chk = new wxCheckBox(this, ID_BrushSelectGroupChk, "Apply to Group:",
		wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT);
	sizer11_1->Add(m_estimate_thresh_chk, 0, wxALIGN_CENTER);
	sizer11_1->Add(5, 5);
	sizer11_1->Add(m_edge_detect_chk, 0, wxALIGN_CENTER);
	sizer11_1->Add(5, 5);
	sizer11_1->Add(m_hidden_removal_chk, 0, wxALIGN_CENTER);
	sizer11_1->Add(5, 5);
	sizer11_1->Add(m_select_group_chk, 0, wxALIGN_CENTER);
	//threshold4
	wxBoxSizer *sizer11_2 = new wxBoxSizer(wxHORIZONTAL);
	st = new wxStaticText(this, 0, "Threshold:",
		wxDefaultPosition, wxSize(70, 20));
	m_brush_scl_translate_sldr = new wxSlider(this, ID_BrushSclTranslateSldr, 0, 0, 2550,
		wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL);
	m_brush_scl_translate_text = new wxTextCtrl(this, ID_BrushSclTranslateText, "0.0",
		wxDefaultPosition, wxSize(50, 20), 0, vald_fp1);
	sizer11_2->Add(5, 5);
	sizer11_2->Add(st, 0, wxALIGN_CENTER);
	sizer11_2->Add(m_brush_scl_translate_sldr, 1, wxEXPAND);
	sizer11_2->Add(m_brush_scl_translate_text, 0, wxALIGN_CENTER);
	sizer11_2->Add(15, 15);
	//2d
	wxBoxSizer *sizer11_3 = new wxBoxSizer(wxHORIZONTAL);
	st = new wxStaticText(this, 0, "2D Adj. Infl.:",
		wxDefaultPosition, wxSize(70, 20));
	m_brush_2dinfl_sldr = new wxSlider(this, ID_Brush2dinflSldr, 100, 0, 200,
		wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_INVERSE);
	m_brush_2dinfl_text = new wxTextCtrl(this, ID_Brush2dinflText, "1.00",
		wxDefaultPosition, wxSize(40, 20), 0, vald_fp2);
	sizer11_3->Add(5, 5);
	sizer11_3->Add(st, 0, wxALIGN_CENTER);
	sizer11_3->Add(m_brush_2dinfl_sldr, 1, wxEXPAND);
	sizer11_3->Add(m_brush_2dinfl_text, 0, wxALIGN_CENTER);
	sizer11_3->Add(15, 15);
	//sizer21
	sizer11->Add(sizer11_1, 0, wxEXPAND);
	sizer11->Add(5, 5);
	sizer11->Add(sizer11_2, 0, wxEXPAND);
	sizer11->Add(sizer11_3, 0, wxEXPAND);
	sizer11->Hide(sizer11_3, true);

	//Brush properties
	wxBoxSizer *sizer12 = new wxStaticBoxSizer(
		new wxStaticBox(this, wxID_ANY, "Brush Properties"),
		wxVERTICAL);
	wxBoxSizer *sizer12_1 = new wxBoxSizer(wxHORIZONTAL);
	st = new wxStaticText(this, 0, "Brush sizes can also be set with mouse wheel in painting mode.");
	sizer12_1->Add(5, 5);
	sizer12_1->Add(st, 0, wxALIGN_CENTER);
	//brush size 1
	wxBoxSizer *sizer12_2 = new wxBoxSizer(wxHORIZONTAL);
	st = new wxStaticText(this, 0, "Center Size:",
		wxDefaultPosition, wxSize(80, 20));
	m_brush_size1_sldr = new wxSlider(this, ID_BrushSize1Sldr, 10, 1, 300,
		wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL);
	m_brush_size1_text = new wxTextCtrl(this, ID_BrushSize1Text, "10",
		wxDefaultPosition, wxSize(50, 20), 0, vald_int);
	sizer12_2->Add(5, 5);
	sizer12_2->Add(st, 0, wxALIGN_CENTER);
	sizer12_2->Add(m_brush_size1_sldr, 1, wxEXPAND);
	sizer12_2->Add(m_brush_size1_text, 0, wxALIGN_CENTER);
	st = new wxStaticText(this, 0, "px",
		wxDefaultPosition, wxSize(25, 15));
	sizer12_2->Add(st, 0, wxALIGN_CENTER);
	//brush size 2
	wxBoxSizer *sizer12_3 = new wxBoxSizer(wxHORIZONTAL);
	m_brush_size2_chk = new wxCheckBox(this, ID_BrushSize2Chk, "GrowSize",
		wxDefaultPosition, wxSize(80, 20), wxALIGN_RIGHT);
	st = new wxStaticText(this, 0, ":",
		wxDefaultPosition, wxSize(5, 20), wxALIGN_RIGHT);
	m_brush_size2_sldr = new wxSlider(this, ID_BrushSize2Sldr, 30, 1, 300,
		wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL);
	m_brush_size2_text = new wxTextCtrl(this, ID_BrushSize2Text, "30",
		wxDefaultPosition, wxSize(50, 20), 0, vald_int);
	m_brush_size2_chk->SetValue(true);
	m_brush_size2_sldr->Enable();
	m_brush_size2_text->Enable();
	sizer12_3->Add(m_brush_size2_chk, 0, wxALIGN_CENTER);
	sizer12_3->Add(st, 0, wxALIGN_CENTER);
	sizer12_3->Add(m_brush_size2_sldr, 1, wxEXPAND);
	sizer12_3->Add(m_brush_size2_text, 0, wxALIGN_CENTER);
	st = new wxStaticText(this, 0, "px",
		wxDefaultPosition, wxSize(25, 15));
	sizer12_3->Add(st, 0, wxALIGN_CENTER);
	//iterations
	wxBoxSizer *sizer12_4 = new wxBoxSizer(wxHORIZONTAL);
	st = new wxStaticText(this, 0, "Growth:",
		wxDefaultPosition, wxSize(70, 20));
	m_brush_iterw_rb = new wxRadioButton(this, ID_BrushIterWRd, "Weak",
		wxDefaultPosition, wxDefaultSize, wxRB_GROUP);
	m_brush_iters_rb = new wxRadioButton(this, ID_BrushIterSRd, "Normal",
		wxDefaultPosition, wxDefaultSize);
	m_brush_iterss_rb = new wxRadioButton(this, ID_BrushIterSSRd, "Strong",
		wxDefaultPosition, wxDefaultSize);
	m_brush_iterw_rb->SetValue(false);
	m_brush_iters_rb->SetValue(true);
	m_brush_iterss_rb->SetValue(false);
	sizer12_4->Add(5, 5);
	sizer12_4->Add(st, 0, wxALIGN_CENTER);
	sizer12_4->Add(m_brush_iterw_rb, 0, wxALIGN_CENTER);
	sizer12_4->Add(15, 15);
	sizer12_4->Add(m_brush_iters_rb, 0, wxALIGN_CENTER);
	sizer12_4->Add(15, 15);
	sizer12_4->Add(m_brush_iterss_rb, 0, wxALIGN_CENTER);
	//sizer12
	sizer12->Add(sizer12_4, 0, wxEXPAND);
	sizer12->Add(5, 5);
	sizer12->Add(sizer12_2, 0, wxEXPAND);
	sizer12->Add(sizer12_3, 0, wxEXPAND);
	sizer12->Add(5, 5);
	sizer12->Add(sizer12_1, 0, wxEXPAND);

	//group1
	group1->Add(m_toolbar, 0, wxEXPAND);
	group1->Add(5, 5);
	group1->Add(sizer11, 0, wxEXPAND);
	group1->Add(sizer12, 0, wxEXPAND);

	//component analyzer
	wxBoxSizer *sizer13 = new wxStaticBoxSizer(
		new wxStaticBox(this, wxID_ANY, "Component Analyzer"),
		wxVERTICAL);
	//threshold of ccl
	wxBoxSizer *sizer13_1 = new wxBoxSizer(wxHORIZONTAL);
	st = new wxStaticText(this, 0, "Threshold:",
		wxDefaultPosition, wxSize(75, 20));
	m_ca_thresh_sldr = new wxSlider(this, ID_CAThreshSldr, 0, 0, 2550,
		wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL);
	m_ca_thresh_text = new wxTextCtrl(this, ID_CAThreshText, "0.0",
		wxDefaultPosition, wxSize(50, 20), 0, vald_fp1);
	sizer13_1->Add(st, 0, wxALIGN_CENTER);
	sizer13_1->Add(m_ca_thresh_sldr, 1, wxEXPAND);
	sizer13_1->Add(m_ca_thresh_text, 0, wxALIGN_CENTER);
	m_ca_analyze_btn = new wxButton(this, ID_CAAnalyzeBtn, "Analyze",
		wxDefaultPosition, wxSize(-1, 23));
	sizer13_1->Add(m_ca_analyze_btn, 0, wxALIGN_CENTER);
	//size of ccl
	wxBoxSizer *sizer13_2 = new wxBoxSizer(wxHORIZONTAL);
	m_ca_select_only_chk = new wxCheckBox(this, ID_CASelectOnlyChk, "Selct. Only",
		wxDefaultPosition, wxSize(90, 20));
	sizer13_2->Add(m_ca_select_only_chk, 0, wxALIGN_CENTER);
	sizer13_2->AddStretchSpacer();
	st = new wxStaticText(this, 0, "Min:",
		wxDefaultPosition, wxSize(40, 15));
	sizer13_2->Add(st, 0, wxALIGN_CENTER);
	m_ca_min_text = new wxTextCtrl(this, ID_CAMinText, "0",
		wxDefaultPosition, wxSize(40, 20), 0, vald_int);
	sizer13_2->Add(m_ca_min_text, 0, wxALIGN_CENTER);
	st = new wxStaticText(this, 0, "vx",
		wxDefaultPosition, wxSize(15, 15));
	sizer13_2->Add(st, 0, wxALIGN_CENTER);
	sizer13_2->AddStretchSpacer();
	st = new wxStaticText(this, 0, "Max:",
		wxDefaultPosition, wxSize(40, 15));
	sizer13_2->Add(st, 0, wxALIGN_CENTER);
	m_ca_max_text = new wxTextCtrl(this, ID_CAMaxText, "1000",
		wxDefaultPosition, wxSize(40, 20), 0, vald_int);
	sizer13_2->Add(m_ca_max_text, 0, wxALIGN_CENTER);
	st = new wxStaticText(this, 0, "vx",
		wxDefaultPosition, wxSize(15, 15));
	sizer13_2->Add(st, 0, wxALIGN_CENTER);
	sizer13_2->AddStretchSpacer();
	m_ca_ignore_max_chk = new wxCheckBox(this, ID_CAIgnoreMaxChk, "Ignore Max");
	sizer13_2->Add(m_ca_ignore_max_chk, 0, wxALIGN_CENTER);
	//text result
	wxBoxSizer *sizer13_3 = new wxBoxSizer(wxHORIZONTAL);
	st = new wxStaticText(this, 0, "Components:");
	sizer13_3->Add(st, 0, wxALIGN_CENTER);
	m_ca_comps_text = new wxTextCtrl(this, ID_CACompsText, "0",
		wxDefaultPosition, wxSize(70, 20), wxTE_READONLY);
	sizer13_3->Add(m_ca_comps_text, 0, wxALIGN_CENTER);
	st = new wxStaticText(this, 0, "Total Volume:");
	sizer13_3->Add(st, 0, wxALIGN_CENTER);
	m_ca_volume_text = new wxTextCtrl(this, ID_CAVolumeText, "0",
		wxDefaultPosition, wxSize(70, 20), wxTE_READONLY);
	sizer13_3->Add(m_ca_volume_text, 0, wxALIGN_CENTER);
	m_ca_size_map_chk = new wxCheckBox(this, ID_CASizeMapChk, "Size-Color",
		wxDefaultPosition, wxSize(75, 20));
	sizer13_3->Add(m_ca_size_map_chk, 0, wxALIGN_CENTER);   
	//export
	wxBoxSizer *sizer13_4 = new wxBoxSizer(wxHORIZONTAL);
	sizer13_4->AddStretchSpacer();
	st = new wxStaticText(this, 0, "Export:  ");
	sizer13_4->Add(st, 0, wxALIGN_CENTER);
	m_ca_multi_chann_btn = new wxButton(this, ID_CAMultiChannBtn, "Multi-Channels",
		wxDefaultPosition, wxSize(-1, 23));
	m_ca_random_color_btn = new wxButton(this, ID_CARandomColorBtn, "Random Colors",
		wxDefaultPosition, wxSize(-1, 23));
	m_ca_annotations_btn = new wxButton(this, ID_CAAnnotationsBtn, "Show Annotations",
		wxDefaultPosition, wxSize(-1, 23));
	sizer13_4->Add(m_ca_multi_chann_btn, 0, wxALIGN_CENTER);
	sizer13_4->Add(m_ca_random_color_btn, 0, wxALIGN_CENTER);
	sizer13_4->Add(m_ca_annotations_btn, 0, wxALIGN_CENTER);
	//sizer13
	sizer13->Add(sizer13_1, 0, wxEXPAND);
	sizer13->Add(sizer13_2, 0, wxEXPAND);
	sizer13->Add(sizer13_3, 0, wxEXPAND);
	sizer13->Add(sizer13_4, 0, wxEXPAND);
	//noise removal
	wxBoxSizer *sizer14 = new wxStaticBoxSizer(
		new wxStaticBox(this, wxID_ANY, "Noise Removal"),
		wxVERTICAL);
	//size threshold
	wxBoxSizer *sizer14_1 = new wxBoxSizer(wxHORIZONTAL);
	st = new wxStaticText(this, 0, "Size Thresh.:",
		wxDefaultPosition, wxSize(75, -1));
	m_nr_size_sldr = new wxSlider(this, ID_NRSizeSldr, 10, 1, 100,
		wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL);
	m_nr_size_text = new wxTextCtrl(this, ID_NRSizeText, "10",
		wxDefaultPosition, wxSize(40, -1), 0, vald_int);
	sizer14_1->Add(st, 0, wxALIGN_CENTER);
	sizer14_1->Add(m_nr_size_sldr, 1, wxEXPAND);
	sizer14_1->Add(m_nr_size_text, 0, wxALIGN_CENTER);
	st = new wxStaticText(this, 0, "vx",
		wxDefaultPosition, wxSize(25, 15));
	sizer14_1->Add(st, 0, wxALIGN_CENTER);
	//buttons
	wxBoxSizer *sizer14_2 = new wxBoxSizer(wxHORIZONTAL);
	m_nr_analyze_btn = new wxButton(this, ID_NRAnalyzeBtn, "Analyze",
		wxDefaultPosition, wxSize(-1, 23));
	m_nr_remove_btn = new wxButton(this, ID_NRRemoveBtn, "Remove",
		wxDefaultPosition, wxSize(-1, 23));
	sizer14_2->AddStretchSpacer();
	sizer14_2->Add(m_nr_analyze_btn, 0, wxALIGN_CENTER);
	sizer14_2->Add(m_nr_remove_btn, 0, wxALIGN_CENTER);
	//sizer14
	sizer14->Add(sizer14_1, 0, wxEXPAND);
	sizer14->Add(sizer14_2, 0, wxEXPAND);

	//group 2
	//calculations
	wxBoxSizer* group2 = new wxStaticBoxSizer(
		new wxStaticBox(this, wxID_ANY, "Analysis"),
		wxVERTICAL);
	//operand A
	wxBoxSizer *sizer21 = new wxBoxSizer(wxHORIZONTAL);
	st = new wxStaticText(this, 0, "Volume A:",
		wxDefaultPosition, wxSize(75, 20));
	m_calc_load_a_btn = new wxButton(this, ID_CalcLoadABtn, "Load",
		wxDefaultPosition, wxSize(50, 20));
	m_calc_a_text = new wxTextCtrl(this, ID_CalcAText, "",
		wxDefaultPosition, wxSize(200, 20));
	sizer21->Add(st, 0, wxALIGN_CENTER);
	sizer21->Add(m_calc_load_a_btn, 0, wxALIGN_CENTER);
	sizer21->Add(m_calc_a_text, 1, wxEXPAND);
	//operand B
	wxBoxSizer *sizer22 = new wxBoxSizer(wxHORIZONTAL);
	st = new wxStaticText(this, 0, "Volume B:",
		wxDefaultPosition, wxSize(75, 20));
	m_calc_load_b_btn = new wxButton(this, ID_CalcLoadBBtn, "Load",
		wxDefaultPosition, wxSize(50, 20));
	m_calc_b_text = new wxTextCtrl(this, ID_CalcBText, "",
		wxDefaultPosition, wxSize(200, 20));
	sizer22->Add(st, 0, wxALIGN_CENTER);
	sizer22->Add(m_calc_load_b_btn, 0, wxALIGN_CENTER);
	sizer22->Add(m_calc_b_text, 1, wxEXPAND);
	//single operators
	wxBoxSizer *sizer23 = new wxStaticBoxSizer(
		new wxStaticBox(this, wxID_ANY,
		"Single-valued Operators (Require A)"), wxVERTICAL);
	//sizer23
	m_calc_fill_btn = new wxButton(this, ID_CalcFillBtn, "Consolidate Voxels",
		wxDefaultPosition, wxDefaultSize);
	sizer23->Add(m_calc_fill_btn, 0, wxEXPAND);
	//two operators
	wxBoxSizer *sizer24 = new wxStaticBoxSizer(
		new wxStaticBox(this, wxID_ANY,
		"Two-valued Operators (Require both A and B)"), wxHORIZONTAL);
	m_calc_sub_btn = new wxButton(this, ID_CalcSubBtn, "Subtract",
		wxDefaultPosition, wxSize(50, 25));
	m_calc_add_btn = new wxButton(this, ID_CalcAddBtn, "Add",
		wxDefaultPosition, wxSize(50, 25));
	m_calc_div_btn = new wxButton(this, ID_CalcDivBtn, "Divide",
		wxDefaultPosition, wxSize(50, 25));
	m_calc_isc_btn = new wxButton(this, ID_CalcIscBtn, "Colocalize",
		wxDefaultPosition, wxSize(50, 25));
	sizer24->Add(m_calc_sub_btn, 1, wxEXPAND);
	sizer24->Add(m_calc_add_btn, 1, wxEXPAND);
	sizer24->Add(m_calc_div_btn, 1, wxEXPAND);
	sizer24->Add(m_calc_isc_btn, 1, wxEXPAND);
	//group
	group2->Add(5, 5);
	group2->Add(sizer13, 0, wxEXPAND);
	group2->Add(5, 5);
	group2->Add(sizer14, 0, wxEXPAND);
	group2->Add(5, 5);
	group2->Add(sizer21, 0, wxEXPAND);
	group2->Add(5, 5);
	group2->Add(sizer22, 0, wxEXPAND);
	group2->Add(5, 5);
	group2->Add(sizer23, 0, wxEXPAND);
	group2->Add(5, 5);
	group2->Add(sizer24, 0, wxEXPAND);

	//all controls
	wxBoxSizer *sizerV = new wxBoxSizer(wxVERTICAL);
	sizerV->Add(10, 10);
	sizerV->Add(group1, 0, wxEXPAND);
	sizerV->Add(10, 5);
	sizerV->Add(group2, 0, wxEXPAND);

	SetSizerAndFit(sizerV);
	Layout();

	LoadDefault();
}
Ejemplo n.º 12
0
void PeakMeter::OnSized( wxPaintDC& dc )
{
	m_colorBack.Set(wxT("#DDE1E6"));
	dc.SetBackground(wxBrush(m_colorBack));
	dc.Clear();

	wxRect rc = GetClientRect();

	int rw = rc.GetWidth();
	int rh = rc.GetHeight();

	// draw meter
	wxBitmap bmp = wxGetBitmapFromMemory(meter_bmp, sizeof(meter_bmp));
	int bw = bmp.GetWidth();
	int bh = bmp.GetHeight();

	m_meterBitmapX = (rw-bw)/2;
	m_meterBitmapY = (rh-bh)/2;
	dc.DrawBitmap(bmp, m_meterBitmapX, m_meterBitmapY, true);

	// draw repeat button
	int x = m_meterBitmapX+20;

	if ( m_repeatButton == NULL )
	{
		wxBitmap bmp1 = wxGetBitmapFromMemory(repeat_all_bmp,
											  sizeof(repeat_all_bmp));
		wxBitmap bmp2 = wxGetBitmapFromMemory(repeat_all_hover_bmp,
											  sizeof(repeat_all_hover_bmp));
		m_repeatButton= new GButton(this, wxID_ANY,
									wxDefaultPosition, bmp1, bmp2);
		m_repeatButton->SetToolTip(wxT("Choose Repeat mode (Repeat All)"));
		Connect(m_repeatButton->GetId(), wxEVT_COMMAND_GBUTTON,
				(wxObjectEventFunction) (wxEventFunction) &PeakMeter::OnRepeat);
	}
	m_repeatButton->Move(x, m_meterBitmapY+25);

	if ( m_playModeButton == NULL )
	{
		wxBitmap bmp1 = wxGetBitmapFromMemory(play_mode_normal_bmp,
											  sizeof(play_mode_normal_bmp));
		wxBitmap bmp2 = wxGetBitmapFromMemory(play_mode_normal_hover_bmp,
											  sizeof(play_mode_normal_hover_bmp));
		m_playModeButton= new GButton(this, wxID_ANY,
									  wxDefaultPosition, bmp1, bmp2);
		m_playModeButton->SetToolTip(wxT("Choose Play mode"));
	}
	m_playModeButton->Move(x, m_meterBitmapY+45);

	// draw convert button
	bmp = wxGetBitmapFromMemory(button_bmp, sizeof(button_bmp));
	int bw2 = bmp.GetWidth();
	bh = bmp.GetHeight();

	x = m_meterBitmapX-bw2-10;
	if ( m_convertButton == NULL )
	{
		wxBitmap bmp1 = wxGetBitmapFromMemory(convert_bmp,
											  sizeof(convert_bmp));
		wxBitmap bmp2 = wxGetBitmapFromMemory(convert_hover_bmp,
											  sizeof(convert_hover_bmp));
		wxBitmap bmp3 = wxGetBitmapFromMemory(convert_clicked_bmp,
											  sizeof(convert_clicked_bmp));
		m_convertButton= new GButton(this, wxID_ANY,
									 wxDefaultPosition, bmp1, bmp2, bmp3);
	}
	m_convertButton->Move(x, m_meterBitmapY+5);

	dc.DrawBitmap(bmp, x, m_meterBitmapY+40, true);

	x = m_meterBitmapX+bw+10;
	dc.DrawBitmap(bmp, x, m_meterBitmapY+5, true);
	dc.DrawBitmap(bmp, x, m_meterBitmapY+40, true);
}