diff options
author | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2017-04-24 20:11:39 -0300 |
---|---|---|
committer | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2017-04-24 20:11:39 -0300 |
commit | 9154f5ee02766121f7ac8dd756f2e73ae95e1afa (patch) | |
tree | 52fbd84e8801aebf0305d5278dbecfe105dbc9ee /Project/ChartViewBase.cpp | |
parent | 7804c1bd2c0bd2a5f135c30b20991e8187581cc6 (diff) | |
download | PSP.git-9154f5ee02766121f7ac8dd756f2e73ae95e1afa.tar.gz PSP.git-9154f5ee02766121f7ac8dd756f2e73ae95e1afa.tar.xz PSP.git-9154f5ee02766121f7ac8dd756f2e73ae95e1afa.zip |
Chart view implementation start
Diffstat (limited to 'Project/ChartViewBase.cpp')
-rw-r--r-- | Project/ChartViewBase.cpp | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/Project/ChartViewBase.cpp b/Project/ChartViewBase.cpp new file mode 100644 index 0000000..2fbec21 --- /dev/null +++ b/Project/ChartViewBase.cpp @@ -0,0 +1,191 @@ +////////////////////////////////////////////////////////////////////// +// This file was auto-generated by codelite's wxCrafter Plugin +// wxCrafter project file: ChartView.wxcp +// Do not modify this file by hand! +////////////////////////////////////////////////////////////////////// + +#include "ChartViewBase.h" + + +// Declare the bitmap loading function +extern void wxCE3EBInitBitmapResources(); + +static bool bBitmapLoaded = false; + + +ChartViewBase::ChartViewBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) + : wxFrame(parent, id, title, pos, size, style) +{ + if ( !bBitmapLoaded ) { + // We need to initialise the default bitmap handler + wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); + wxCE3EBInitBitmapResources(); + bBitmapLoaded = true; + } + + m_menuBar = new wxMenuBar(0); + this->SetMenuBar(m_menuBar); + + m_menuFile = new wxMenu(); + m_menuBar->Append(m_menuFile, _("File")); + + m_menuItemSaveImage = new wxMenuItem(m_menuFile, wxID_ANY, _("Save chart as image"), wxT(""), wxITEM_NORMAL); + m_menuFile->Append(m_menuItemSaveImage); + + m_menuItemSandToClipboard = new wxMenuItem(m_menuFile, wxID_ANY, _("Send to clipboard"), wxT(""), wxITEM_NORMAL); + m_menuFile->Append(m_menuItemSandToClipboard); + + m_menuFile->AppendSeparator(); + + m_menuItemExit = new wxMenuItem(m_menuFile, wxID_ANY, _("Exit"), wxT(""), wxITEM_NORMAL); + m_menuFile->Append(m_menuItemExit); + + m_menuView = new wxMenu(); + m_menuBar->Append(m_menuView, _("View")); + + m_menuItemFit = new wxMenuItem(m_menuView, wxID_ANY, _("Fit"), wxT(""), wxITEM_NORMAL); + m_menuView->Append(m_menuItemFit); + + m_menuView->AppendSeparator(); + + m_menuItemShowGrid = new wxMenuItem(m_menuView, wxID_ANY, _("Show grid"), wxT(""), wxITEM_CHECK); + m_menuView->Append(m_menuItemShowGrid); + + m_menuItemShowLabel = new wxMenuItem(m_menuView, wxID_ANY, _("Show label"), wxT(""), wxITEM_CHECK); + m_menuView->Append(m_menuItemShowLabel); + + m_menuItemShowCoordinates = new wxMenuItem(m_menuView, wxID_ANY, _("Show coordinates"), wxT(""), wxITEM_CHECK); + m_menuView->Append(m_menuItemShowCoordinates); + + m_menuItemDarkTheme = new wxMenuItem(m_menuView, wxID_ANY, _("Dark theme"), wxT(""), wxITEM_CHECK); + m_menuView->Append(m_menuItemDarkTheme); + + wxBoxSizer* boxSizer_lvl1_1 = new wxBoxSizer(wxHORIZONTAL); + this->SetSizer(boxSizer_lvl1_1); + + wxBoxSizer* boxSizer_lvl2_1 = new wxBoxSizer(wxVERTICAL); + + boxSizer_lvl1_1->Add(boxSizer_lvl2_1, 0, wxEXPAND, WXC_FROM_DIP(5)); + + m_treeCtrl = new wxTreeCtrl(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxTR_DEFAULT_STYLE); + + boxSizer_lvl2_1->Add(m_treeCtrl, 1, 0, WXC_FROM_DIP(5)); + m_treeCtrl->SetMinSize(wxSize(250,-1)); + + wxArrayString m_pgMgrArr; + wxUnusedVar(m_pgMgrArr); + wxArrayInt m_pgMgrIntArr; + wxUnusedVar(m_pgMgrIntArr); + m_pgMgr = new wxPropertyGridManager(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxPG_SPLITTER_AUTO_CENTER|wxPG_BOLD_MODIFIED); + + boxSizer_lvl2_1->Add(m_pgMgr, 0, 0, WXC_FROM_DIP(5)); + + m_pgPropLineProp = m_pgMgr->Append( new wxPropertyCategory( _("Line properties") ) ); + m_pgPropLineProp->SetHelpString(wxT("")); + + m_pgPropDraw = m_pgMgr->AppendIn( m_pgPropLineProp, new wxBoolProperty( _("Draw"), wxPG_LABEL, 1) ); + m_pgPropDraw->SetHelpString(wxT("")); + m_pgPropDraw->SetEditor( wxT("CheckBox") ); + + m_pgPropColor = m_pgMgr->AppendIn( m_pgPropLineProp, new wxSystemColourProperty( _("Color")) ); + m_pgPropColor->SetValueToUnspecified(); + m_pgPropColor->SetHelpString(wxT("")); + m_pgPropColor->SetEditor( wxT("ChoiceAndButton") ); + + m_pgProplineThick = m_pgMgr->AppendIn( m_pgPropLineProp, new wxIntProperty( _("Thickness"), wxPG_LABEL, 1) ); + m_pgProplineThick->SetHelpString(wxT("")); + m_pgProplineThick->SetEditor( wxT("TextCtrl") ); + + m_pgMgrArr.Clear(); + m_pgMgrIntArr.Clear(); + m_pgMgrArr.Add(_("Solid")); + m_pgMgrArr.Add(_("Dot")); + m_pgMgrArr.Add(_("Dash")); + m_pgMgrArr.Add(_("Dot and dash")); + m_pgMgrArr.Add(_("Cross")); + m_pgMgrArr.Add(_("Diagonal cross")); + m_pgProplineType = m_pgMgr->AppendIn( m_pgPropLineProp, new wxEnumProperty( _("Type"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) ); + m_pgProplineType->SetHelpString(wxT("")); + m_pgProplineType->SetEditor( wxT("Choice") ); + + m_pgMgrArr.Clear(); + m_pgMgrIntArr.Clear(); + m_pgMgrArr.Add(_("Y")); + m_pgMgrArr.Add(_("X")); + m_pgProplineAxis = m_pgMgr->AppendIn( m_pgPropLineProp, new wxEnumProperty( _("Axis"), wxPG_LABEL, m_pgMgrArr, m_pgMgrIntArr, 0) ); + m_pgProplineAxis->SetHelpString(wxT("")); + m_pgProplineAxis->SetEditor( wxT("Choice") ); + + m_pgPropChartProp = m_pgMgr->Append( new wxPropertyCategory( _("Chart properties") ) ); + m_pgPropChartProp->SetHelpString(wxT("")); + + m_pgPropChartTitle = m_pgMgr->AppendIn( m_pgPropChartProp, new wxStringProperty( _("Chart title"), wxPG_LABEL, wxT("")) ); + m_pgPropChartTitle->SetHelpString(wxT("")); + m_pgPropChartTitle->SetEditor( wxT("TextCtrl") ); + + m_pgPropXLabel = m_pgMgr->AppendIn( m_pgPropChartProp, new wxStringProperty( _("X axis label"), wxPG_LABEL, wxT("")) ); + m_pgPropXLabel->SetHelpString(wxT("")); + m_pgPropXLabel->SetEditor( wxT("TextCtrl") ); + + m_pgPropYLabel = m_pgMgr->AppendIn( m_pgPropChartProp, new wxStringProperty( _("Y axis label"), wxPG_LABEL, wxT("")) ); + m_pgPropYLabel->SetHelpString(wxT("")); + m_pgPropYLabel->SetEditor( wxT("TextCtrl") ); + + m_pgPropMargins = m_pgMgr->AppendIn( m_pgPropChartProp, new wxStringProperty( _("Margins"), wxPG_LABEL, wxT("")) ); + m_pgPropMargins->SetHelpString(wxT("")); + + m_pgPropMarginsUp = m_pgMgr->AppendIn( m_pgPropMargins, new wxIntProperty( _("Up"), wxPG_LABEL, 20) ); + m_pgPropMarginsUp->SetHelpString(wxT("")); + + m_pgPropYMarginsBot = m_pgMgr->AppendIn( m_pgPropMargins, new wxIntProperty( _("Botton"), wxPG_LABEL, 40) ); + m_pgPropYMarginsBot->SetHelpString(wxT("")); + + m_pgPropYMarginsLeft = m_pgMgr->AppendIn( m_pgPropMargins, new wxIntProperty( _("Left"), wxPG_LABEL, 60) ); + m_pgPropYMarginsLeft->SetHelpString(wxT("")); + + m_pgPropYMarginsRight = m_pgMgr->AppendIn( m_pgPropMargins, new wxIntProperty( _("Right"), wxPG_LABEL, 10) ); + m_pgPropYMarginsRight->SetHelpString(wxT("")); + + m_pgPropAxisLimit = m_pgMgr->AppendIn( m_pgPropChartProp, new wxStringProperty( _("Axis limit"), wxPG_LABEL, wxT("")) ); + m_pgPropAxisLimit->SetHelpString(wxT("")); + + m_pgPropXMin = m_pgMgr->AppendIn( m_pgPropAxisLimit, new wxFloatProperty( _("X min"), wxPG_LABEL, 0) ); + m_pgPropXMin->SetHelpString(wxT("")); + + m_pgPropXMax = m_pgMgr->AppendIn( m_pgPropAxisLimit, new wxFloatProperty( _("X max"), wxPG_LABEL, 0) ); + m_pgPropXMax->SetHelpString(wxT("")); + + m_pgPropYMin = m_pgMgr->AppendIn( m_pgPropAxisLimit, new wxFloatProperty( _("Y min"), wxPG_LABEL, 0) ); + m_pgPropYMin->SetHelpString(wxT("")); + + m_pgPropYMax = m_pgMgr->AppendIn( m_pgPropAxisLimit, new wxFloatProperty( _("Y max"), wxPG_LABEL, 0) ); + m_pgPropYMax->SetHelpString(wxT("")); + m_pgMgr->SetMinSize(wxSize(250,250)); + + m_panelChart = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDLG_UNIT(this, wxSize(-1,-1)), wxTAB_TRAVERSAL); + + boxSizer_lvl1_1->Add(m_panelChart, 1, wxEXPAND, WXC_FROM_DIP(5)); + m_panelChart->SetMinSize(wxSize(100,300)); + + SetName(wxT("ChartViewBase")); + SetSize(-1,-1); + if (GetSizer()) { + GetSizer()->Fit(this); + } + if(GetParent()) { + CentreOnParent(wxBOTH); + } else { + CentreOnScreen(wxBOTH); + } +#if wxVERSION_NUMBER >= 2900 + if(!wxPersistenceManager::Get().Find(this)) { + wxPersistenceManager::Get().RegisterAndRestore(this); + } else { + wxPersistenceManager::Get().Restore(this); + } +#endif +} + +ChartViewBase::~ChartViewBase() +{ +} |