12PANEL_PREVIEW_3D_MODEL_BASE::PANEL_PREVIEW_3D_MODEL_BASE( wxWindow* parent, wxWindowID
id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString&
name ) : wxPanel( parent, id, pos, size, style,
name )
14 wxBoxSizer* bSizermain;
15 bSizermain =
new wxBoxSizer( wxHORIZONTAL );
17 wxBoxSizer* bSizerLeft;
18 bSizerLeft =
new wxBoxSizer( wxVERTICAL );
20 wxStaticBoxSizer* sbSizerScale;
21 sbSizerScale =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Scale") ), wxVERTICAL );
23 wxFlexGridSizer* fgSizerScale;
24 fgSizerScale =
new wxFlexGridSizer( 0, 3, 2, 3 );
25 fgSizerScale->AddGrowableCol( 1 );
26 fgSizerScale->SetFlexibleDirection( wxBOTH );
27 fgSizerScale->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
29 m_staticText1 =
new wxStaticText( sbSizerScale->GetStaticBox(), wxID_ANY,
_(
"X:"), wxDefaultPosition, wxDefaultSize, 0 );
31 fgSizerScale->Add(
m_staticText1, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
33 xscale =
new wxTextCtrl( sbSizerScale->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
34 fgSizerScale->Add(
xscale, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 5 );
36 m_spinXscale =
new wxSpinButton( sbSizerScale->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_VERTICAL );
37 fgSizerScale->Add(
m_spinXscale, 0, wxALIGN_CENTER_VERTICAL, 5 );
39 m_staticText2 =
new wxStaticText( sbSizerScale->GetStaticBox(), wxID_ANY,
_(
"Y:"), wxDefaultPosition, wxDefaultSize, 0 );
41 fgSizerScale->Add(
m_staticText2, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
43 yscale =
new wxTextCtrl( sbSizerScale->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
44 fgSizerScale->Add(
yscale, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 5 );
46 m_spinYscale =
new wxSpinButton( sbSizerScale->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_VERTICAL );
47 fgSizerScale->Add(
m_spinYscale, 0, wxALIGN_CENTER_VERTICAL, 5 );
49 m_staticText3 =
new wxStaticText( sbSizerScale->GetStaticBox(), wxID_ANY,
_(
"Z:"), wxDefaultPosition, wxDefaultSize, 0 );
51 fgSizerScale->Add(
m_staticText3, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
53 zscale =
new wxTextCtrl( sbSizerScale->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
54 fgSizerScale->Add(
zscale, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 5 );
56 m_spinZscale =
new wxSpinButton( sbSizerScale->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_VERTICAL );
57 fgSizerScale->Add(
m_spinZscale, 0, wxALIGN_CENTER_VERTICAL, 5 );
60 sbSizerScale->Add( fgSizerScale, 0, wxBOTTOM|wxEXPAND|wxRIGHT, 5 );
63 bSizerLeft->Add( sbSizerScale, 0, wxLEFT|wxRIGHT|wxEXPAND, 5 );
65 wxStaticBoxSizer* sbSizerRotation;
66 sbSizerRotation =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Rotation") ), wxVERTICAL );
68 wxFlexGridSizer* fgSizerRotate;
69 fgSizerRotate =
new wxFlexGridSizer( 0, 3, 2, 3 );
70 fgSizerRotate->AddGrowableCol( 1 );
71 fgSizerRotate->SetFlexibleDirection( wxBOTH );
72 fgSizerRotate->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
74 m_staticText11 =
new wxStaticText( sbSizerRotation->GetStaticBox(), wxID_ANY,
_(
"X:"), wxDefaultPosition, wxDefaultSize, 0 );
76 fgSizerRotate->Add(
m_staticText11, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
78 xrot =
new wxTextCtrl( sbSizerRotation->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
79 fgSizerRotate->Add(
xrot, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 5 );
81 m_spinXrot =
new wxSpinButton( sbSizerRotation->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_VERTICAL );
82 fgSizerRotate->Add(
m_spinXrot, 0, wxALIGN_CENTER_VERTICAL, 5 );
84 m_staticText21 =
new wxStaticText( sbSizerRotation->GetStaticBox(), wxID_ANY,
_(
"Y:"), wxDefaultPosition, wxDefaultSize, 0 );
86 fgSizerRotate->Add(
m_staticText21, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
88 yrot =
new wxTextCtrl( sbSizerRotation->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
89 fgSizerRotate->Add(
yrot, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 5 );
91 m_spinYrot =
new wxSpinButton( sbSizerRotation->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_VERTICAL );
92 fgSizerRotate->Add(
m_spinYrot, 0, wxALIGN_CENTER_VERTICAL, 5 );
94 m_staticText31 =
new wxStaticText( sbSizerRotation->GetStaticBox(), wxID_ANY,
_(
"Z:"), wxDefaultPosition, wxDefaultSize, 0 );
96 fgSizerRotate->Add(
m_staticText31, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
98 zrot =
new wxTextCtrl( sbSizerRotation->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
99 fgSizerRotate->Add(
zrot, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 5 );
101 m_spinZrot =
new wxSpinButton( sbSizerRotation->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_VERTICAL );
102 fgSizerRotate->Add(
m_spinZrot, 0, wxALIGN_CENTER_VERTICAL, 5 );
105 sbSizerRotation->Add( fgSizerRotate, 0, wxBOTTOM|wxRIGHT|wxEXPAND, 5 );
108 bSizerLeft->Add( sbSizerRotation, 0, wxLEFT|wxRIGHT|wxEXPAND, 5 );
110 wxStaticBoxSizer* sbSizerOffset;
111 sbSizerOffset =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Offset") ), wxVERTICAL );
113 wxFlexGridSizer* fgSizerOffset;
114 fgSizerOffset =
new wxFlexGridSizer( 0, 3, 2, 3 );
115 fgSizerOffset->AddGrowableCol( 1 );
116 fgSizerOffset->SetFlexibleDirection( wxBOTH );
117 fgSizerOffset->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
119 m_staticText12 =
new wxStaticText( sbSizerOffset->GetStaticBox(), wxID_ANY,
_(
"X:"), wxDefaultPosition, wxDefaultSize, 0 );
121 fgSizerOffset->Add(
m_staticText12, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
123 xoff =
new wxTextCtrl( sbSizerOffset->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
124 fgSizerOffset->Add(
xoff, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 5 );
126 m_spinXoffset =
new wxSpinButton( sbSizerOffset->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_VERTICAL );
127 fgSizerOffset->Add(
m_spinXoffset, 0, wxALIGN_CENTER_VERTICAL, 5 );
129 m_staticText22 =
new wxStaticText( sbSizerOffset->GetStaticBox(), wxID_ANY,
_(
"Y:"), wxDefaultPosition, wxDefaultSize, 0 );
131 fgSizerOffset->Add(
m_staticText22, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
133 yoff =
new wxTextCtrl( sbSizerOffset->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
134 fgSizerOffset->Add(
yoff, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 5 );
136 m_spinYoffset =
new wxSpinButton( sbSizerOffset->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_VERTICAL );
137 fgSizerOffset->Add(
m_spinYoffset, 0, wxALIGN_CENTER_VERTICAL, 5 );
139 m_staticText32 =
new wxStaticText( sbSizerOffset->GetStaticBox(), wxID_ANY,
_(
"Z:"), wxDefaultPosition, wxDefaultSize, 0 );
141 fgSizerOffset->Add(
m_staticText32, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
143 zoff =
new wxTextCtrl( sbSizerOffset->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
144 fgSizerOffset->Add(
zoff, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 5 );
146 m_spinZoffset =
new wxSpinButton( sbSizerOffset->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_VERTICAL );
147 fgSizerOffset->Add(
m_spinZoffset, 0, wxALIGN_CENTER_VERTICAL, 5 );
150 sbSizerOffset->Add( fgSizerOffset, 0, wxBOTTOM|wxRIGHT|wxEXPAND, 5 );
153 bSizerLeft->Add( sbSizerOffset, 0, wxLEFT|wxRIGHT|wxEXPAND, 5 );
155 wxStaticBoxSizer* sbSizer4;
156 sbSizer4 =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Opacity") ), wxVERTICAL );
158 m_opacity =
new wxSlider( sbSizer4->GetStaticBox(), wxID_ANY, 50, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS );
159 sbSizer4->Add(
m_opacity, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
162 bSizerLeft->Add( sbSizer4, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
165 bSizermain->Add( bSizerLeft, 0, 0, 5 );
167 wxBoxSizer* bSizerRight;
168 bSizerRight =
new wxBoxSizer( wxVERTICAL );
171 bSizer6 =
new wxBoxSizer( wxHORIZONTAL );
173 m_previewLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Preview"), wxDefaultPosition, wxDefaultSize, 0 );
175 m_previewLabel->SetFont( wxFont( 11, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
false, wxEmptyString ) );
180 bSizerRight->Add( bSizer6, 0, wxEXPAND, 5 );
188 bSizermain->Add( bSizerRight, 1, wxRIGHT|wxLEFT|wxEXPAND, 5 );
190 wxBoxSizer* bSizer3DButtons;
191 bSizer3DButtons =
new wxBoxSizer( wxVERTICAL );
194 bSizer3DButtons->Add( 0, 10, 0, 0, 5 );
196 m_bpvISO =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW|0 );
197 m_bpvISO->SetToolTip(
_(
"Enable/disable orthographic projection") );
199 bSizer3DButtons->Add(
m_bpvISO, 0, wxTOP, 5 );
201 m_bpvBodyStyle =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW|0 );
202 m_bpvBodyStyle->SetToolTip(
_(
"Show or hide the board body\nIf hidden, show only copper and silkscreen layers.") );
207 bSizer3DButtons->Add( 0, 0, 1, wxEXPAND, 5 );
209 m_bpvLeft =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW|0 );
210 bSizer3DButtons->Add(
m_bpvLeft, 0, wxBOTTOM, 5 );
212 m_bpvRight =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW|0 );
213 bSizer3DButtons->Add(
m_bpvRight, 0, wxBOTTOM, 5 );
215 m_bpvFront =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW|0 );
216 bSizer3DButtons->Add(
m_bpvFront, 0, wxBOTTOM, 5 );
218 m_bpvBack =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW|0 );
219 bSizer3DButtons->Add(
m_bpvBack, 0, wxBOTTOM, 5 );
221 m_bpvTop =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW|0 );
222 bSizer3DButtons->Add(
m_bpvTop, 0, wxBOTTOM, 5 );
224 m_bpvBottom =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW|0 );
228 bSizer3DButtons->Add( 0, 0, 1, wxEXPAND, 5 );
230 m_bpUpdate =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW|0 );
231 m_bpUpdate->SetToolTip(
_(
"Reload board and 3D models") );
233 bSizer3DButtons->Add(
m_bpUpdate, 0, wxBOTTOM, 5 );
235 m_bpSettings =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
239 bSizer3DButtons->Add( 0, 10, 0, 0, 5 );
242 bSizermain->Add( bSizer3DButtons, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND, 5 );
245 this->SetSizer( bSizermain );
247 bSizermain->Fit(
this );
wxSpinButton * m_spinYrot
virtual void View3DRight(wxCommandEvent &event)
wxSpinButton * m_spinZrot
~PANEL_PREVIEW_3D_MODEL_BASE()
virtual void updateOrientation(wxCommandEvent &event)
wxBitmapButton * m_bpvFront
wxBitmapButton * m_bpUpdate
wxStaticText * m_staticText22
virtual void View3DSettings(wxCommandEvent &event)
wxBitmapButton * m_bpvTop
wxBitmapButton * m_bpvBack
wxStaticText * m_staticText2
virtual void onIncrementOffset(wxSpinEvent &event)
wxStaticText * m_staticText31
virtual void onDecrementRot(wxSpinEvent &event)
virtual void View3DUpdate(wxCommandEvent &event)
wxStaticText * m_staticText3
wxSpinButton * m_spinXscale
wxSpinButton * m_spinYscale
wxSpinButton * m_spinXrot
virtual void View3DBottom(wxCommandEvent &event)
virtual void onMouseWheelRot(wxMouseEvent &event)
wxStaticText * m_staticText32
wxBoxSizer * m_SizerPanelView
wxSpinButton * m_spinZoffset
virtual void onMouseWheelScale(wxMouseEvent &event)
wxBitmapButton * m_bpvLeft
virtual void View3DTop(wxCommandEvent &event)
virtual void View3DLeft(wxCommandEvent &event)
virtual void onDecrementOffset(wxSpinEvent &event)
virtual void onDecrementScale(wxSpinEvent &event)
wxStaticText * m_previewLabel
virtual void View3DISO(wxCommandEvent &event)
virtual void setBodyStyleView(wxCommandEvent &event)
wxSpinButton * m_spinXoffset
wxStaticText * m_staticText12
virtual void onIncrementRot(wxSpinEvent &event)
virtual void View3DFront(wxCommandEvent &event)
wxBitmapButton * m_bpvRight
wxStaticText * m_staticText21
wxBitmapButton * m_bpvBottom
virtual void onMouseWheelOffset(wxMouseEvent &event)
virtual void onIncrementScale(wxSpinEvent &event)
wxSpinButton * m_spinYoffset
wxBitmapButton * m_bpvBodyStyle
virtual void onOpacitySlider(wxCommandEvent &event)
PANEL_PREVIEW_3D_MODEL_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
wxSpinButton * m_spinZscale
virtual void View3DBack(wxCommandEvent &event)
wxStaticText * m_staticText11
wxStaticText * m_staticText1
wxBitmapButton * m_bpSettings
wxBitmapButton * m_bpvISO