1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
| wxPanel* MyFrame::CreatePanel(int toolId){
wxPanel* Panel = new wxPanel(this,wxID_ANY,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL,_("panel"));
// Boite à outils pour le choix des dimensions à représenter
if(toolId==ID_PalIndice)
{
wxBoxSizer* s1 = new wxBoxSizer(wxHORIZONTAL);
m_choice = new wxChoice(Panel,ID_Choice,
wxDefaultPosition, wxDefaultSize,
0, NULL, wxLB_MULTIPLE |wxLB_ALWAYS_SB );
s1->Add(1, 1, 1, wxEXPAND);
s1->Add(new wxStaticText(Panel, wxID_ANY, wxT("Indice :")),0,wxALL,10);
s1->Add(m_choice,0,wxALL,3);
s1->Add(1, 1, 1, wxEXPAND);
s1->SetItemMinSize((size_t)1, 50, 20);
//essai
wxBoxSizer* s2 = new wxBoxSizer(wxHORIZONTAL);
m_sliderIdx=new wxSlider(Panel,ID_Slider_ind,0,0,20,wxDefaultPosition,wxSize(120,40),wxSL_HORIZONTAL);
wxSpinCtrl* SpinCtrl_ind = new wxSpinCtrl(Panel,ID_Spin,
_(""),
wxDefaultPosition, wxSize(40,20),
wxSP_ARROW_KEYS,
0,20,0, _T("wxSpinCtrl"));
s2->Add(1, 1, 1, wxEXPAND);
s2->Add(new wxStaticText(Panel, wxID_ANY, wxT("Value:")),0,wxALL,10);
s2->Add(m_sliderIdx,0,wxALL,0);
s2->Add(SpinCtrl_ind,0,wxALL,10);
s2->Add(1, 1, 1, wxEXPAND);
s2->SetItemMinSize((size_t)1, 50, 20);
//
wxStaticBoxSizer* cont_sizer = new wxStaticBoxSizer(wxVERTICAL,Panel, _T("Indice"));
cont_sizer->Add(s1);
cont_sizer->Add(s2);
Panel->SetAutoLayout(TRUE);
Panel->SetSizer(cont_sizer);
cont_sizer->Fit(Panel);
GetSizer()->SetSizeHints(Panel);
}
// Boîte à outils pour la représentation des points entiers
if(toolId==ID_PalIntPoint){
/* wxString choices[] =
{
_T("Normal"),
_T("Picking"),
};*/
wxString choices[2];
choices[0]=_T("Normal");
choices[1]=_T("Picking");
wxBoxSizer* s1 = new wxBoxSizer(wxHORIZONTAL);
wxChoice* Choice = new wxChoice(Panel,wxID_ANY,wxDefaultPosition,wxSize(170,30),2,choices,0,wxDefaultValidator,_("choice"));
Choice->SetColumns(3);
s1->Add(1, 1, 1, wxEXPAND);
s1->Add(new wxStaticText(Panel, wxID_ANY, wxT("Mode:")),0,wxALIGN_CENTER_HORIZONTAL|wxALL,10);
s1->Add(Choice,0,wxALL,0);
s1->Add(1, 1, 1, wxEXPAND);
s1->SetItemMinSize((size_t)1, 50, 20);
wxBoxSizer* s2 = new wxBoxSizer(wxHORIZONTAL);
m_slider=new wxSlider(Panel,ID_Slider,0,0,20,wxDefaultPosition,wxSize(120,40),wxSL_HORIZONTAL);
m_spinCtrl = new wxSpinCtrl(Panel,ID_Spin,
_(""),
wxDefaultPosition, wxSize(40,20),
wxSP_ARROW_KEYS,
0,20,0, _T("wxSpinCtrl"));
s2->Add(1, 1, 1, wxEXPAND);
s2->Add(new wxStaticText(Panel, wxID_ANY, wxT("Density:")),0,wxALL,10);
s2->Add(m_slider,0,wxALL,0);
s2->Add(m_spinCtrl,0,wxALL,10);
s2->Add(1, 1, 1, wxEXPAND);
s2->SetItemMinSize((size_t)1, 50, 20);
wxStaticBoxSizer* cont_sizer = new wxStaticBoxSizer(wxVERTICAL,Panel, _T("Integer Points"));
cont_sizer->Add(s1, 0, wxGROW|wxALL, 5);
cont_sizer->Add(s2, 0, wxGROW|wxALL, 5);
//cont_sizer->Add(new wxCollapsiblePane(Panel, wxID_ANY, wxT("Details:")), 0, wxGROW|wxALL, 5);
Panel->SetAutoLayout(TRUE);
Panel->SetSizer(cont_sizer);
cont_sizer->Fit(Panel);
GetSizer()->SetSizeHints(Panel);
}
// Boite à outils pour la statusBar
if(toolId==1986) // Ce serait mieux de créer un identifiant
{
wxBitmap StatusBitmaps[3];
StatusBitmaps[0] = wxBitmap(_("img/red.png"),wxBITMAP_TYPE_PNG);
StatusBitmaps[1] = wxBitmap(_("img/green.png"),wxBITMAP_TYPE_PNG);
StatusBitmaps[2] = wxBitmap(_("img/blue.png"),wxBITMAP_TYPE_PNG);
//wxString::FromAscii(tab_idx[idx_cur][0])
wxBoxSizer* StatusBar = new wxBoxSizer(wxHORIZONTAL);
wxStaticText* Reper = new wxStaticText(Panel, wxID_ANY, wxT("Reper: "));
id_1 = new wxStaticText(Panel, wxID_ANY, _(""));
id_1->SetMinSize(wxSize(12,20));
id_2 = new wxStaticText(Panel, wxID_ANY, _(""));
id_2->SetMinSize(wxSize(12,20));
id_3 = new wxStaticText(Panel, wxID_ANY, _(""));
id_3->SetMinSize(wxSize(12,20));
Density = new wxStaticText(Panel, wxID_ANY, _("Density : 0"));
//wxString density = wxString::Format(wxT("Density : %d"), (int)essai::ogl[essai::idx_cur]->dens);
//StText = new wxStaticText(this,wxID_ANY,density);
//StatusBar->Add(1, 1, 1, wxEXPAND);
StatusBar->Add(Reper,0,wxALL,3);
StatusBar->Add(new wxStaticBitmap(Panel,wxID_ANY,StatusBitmaps[0],wxDefaultPosition,wxDefaultSize,0,_("staticBitmap1")),0,wxALL,0);
StatusBar->Add(id_1,0,wxALL,3);
StatusBar->Add(new wxStaticBitmap(Panel,wxID_ANY,StatusBitmaps[1],wxDefaultPosition,wxDefaultSize,0,_("staticBitmap2")),0,wxALL,0);
StatusBar->Add(id_2,0,wxALL,3);
StatusBar->Add(new wxStaticBitmap(Panel,wxID_ANY,StatusBitmaps[2],wxDefaultPosition,wxDefaultSize,0,_("staticBitmap3")),0,wxALL,0);
StatusBar->Add(id_3,0,wxALL,3);
//StatusBar->SetItemMinSize((size_t)1, 50, 20);
StatusBar->AddSpacer(1150);
StatusBar->Add(Density,0,wxALL,3);
//StatusBar->Add(StText,0,wxALL,3);
Panel->SetAutoLayout(TRUE);
Panel->SetSizer(StatusBar);
StatusBar->Fit(Panel);
GetSizer()->SetSizeHints(Panel);
}
return Panel;
} |