#include "bbmaracasvisuShowNPoints.h"
#include "bbcreaMaracasVisuPackage.h"
-
namespace bbcreaMaracasVisu
{
-
//------------------------------------------------------------------------
//------------------------------------------------------------------------
//------------------------------------------------------------------------
//------------------------------------------------------------------------
-WidgetShowNPointsBox::WidgetShowNPointsBox(wxWindow *parent, bbcreaMaracasVisu::ShowNPoints *box, int type)
-: WidgetShowNPoints( parent, type)
+WidgetShowNPointsBox::WidgetShowNPointsBox(wxWindow *parent, bbcreaMaracasVisu::ShowNPoints *box, int type, std::string labelTitle)
+: WidgetShowNPoints( parent, type, labelTitle)
{
mbbShowNPoints=box;
}
{
}
-
//------------------------------------------------------------------------
void WidgetShowNPointsBox::UpdatePoints(wxCommandEvent &event)
{
_mwxwidget->GetModelShowNPoints()->SetFirstTime(false);
_mwxwidget->SetInitLstPoints( bbGetInputInitLstPointsX() , bbGetInputInitLstPointsY() , bbGetInputInitLstPointsZ() , bbGetInputInitLstLabels() , bbGetInputInitLstIndexs() );
}
+
} // if onshowwidget
_mwxwidget->AutoAddPoints();
_mwxwidget->TrackingPoint();
//-----------------------------------------------------------------
void ShowNPoints::CreateWidget(wxWindow* parent)
{
- _mwxwidget = new WidgetShowNPointsBox( parent, this, bbGetInputType() );
+ _mwxwidget = new WidgetShowNPointsBox( parent, this, bbGetInputType(), bbGetInputLabel() );
bbSetOutputWidget( _mwxwidget );
}
//-----------------------------------------------------------------
void ShowNPoints::bbUserSetDefaultValues()
{
- _onshowwidget= false;
- _firsttime = true;
- _backOpacity = -1;
- _mwxwidget = NULL;
+ _onshowwidget = false;
+ _firsttime = true;
+ _backOpacity = -1;
+ _mwxwidget = NULL;
bbSetInputRadio(10);
bbSetInputOpacity(1);
std::vector<double> colour;
colour.push_back(1.0);
colour.push_back(0.0);
bbSetInputColour(colour);
+ bbSetInputLabel("Points");
bbSetInputImage(NULL);
bbSetInputType(0);
bbSetInputRenderer(NULL);
class WidgetShowNPointsBox : public WidgetShowNPoints
{
public:
- WidgetShowNPointsBox( wxWindow *parent, ShowNPoints *box, int type);
+ WidgetShowNPointsBox( wxWindow *parent, ShowNPoints *box, int type, std::string labelTitle);
~WidgetShowNPointsBox();
void UpdatePoints(wxCommandEvent &event);
private:
BBTK_DECLARE_INPUT(InitLstPointsZ , std::vector<double> );
BBTK_DECLARE_INPUT(InitLstLabels , std::vector<std::string> );
BBTK_DECLARE_INPUT(InitLstIndexs , std::vector<int> );
- BBTK_DECLARE_INPUT(Type, int );
+ BBTK_DECLARE_INPUT(Label , std::string );
+ BBTK_DECLARE_INPUT(Type , int );
BBTK_DECLARE_OUTPUT( lstPointsX , std::vector<double> );
BBTK_DECLARE_OUTPUT( lstPointsY , std::vector<double> );
BBTK_DECLARE_OUTPUT( lstLabels , std::vector<std::string> );
BBTK_DECLARE_OUTPUT( lstIndexs , std::vector<int> );
BBTK_DECLARE_OUTPUT( lstSelectedIndexs, std::vector<int> );
- BBTK_DECLARE_OUTPUT( lstSelectedIdCurrentPoints, std::vector<int> );
+ BBTK_DECLARE_OUTPUT( lstSelectedIdCurrentPoints, std::vector<int> );
BBTK_INPUT(ShowNPoints,InitLstPointsZ,"Initial lst of points Z",std::vector<double>,"");
BBTK_INPUT(ShowNPoints,InitLstLabels,"Initial lst of labels",std::vector<std::string>,"");
BBTK_INPUT(ShowNPoints,InitLstIndexs,"Initial lst of indexs sizes",std::vector<int>,"");
+ BBTK_INPUT(ShowNPoints,Label,"(default 'Points') Label title of the widget",std::string,"");
BBTK_INPUT(ShowNPoints,Type,"Type of the widget. 0(default): N-points, 1:Just one point, 2:Add/DeleteAll points, 3:As 0 with out save/load option, 4 Multiple NPoints",int,"");
BBTK_OUTPUT(ShowNPoints , lstPointsX , " list of points X " , std::vector<double> ,"" );
//----------------------------------------------------------------------
//----------------------------------------------------------------------
//----------------------------------------------------------------------
- WidgetShowNPoints::WidgetShowNPoints(wxWindow *parent, int type)
+ WidgetShowNPoints::WidgetShowNPoints(wxWindow *parent, int type, std::string labelTitle)
: wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL)
{
aux_mesh = NULL;
cbVisuActualCollection = NULL;
bookSetPoints = new wxNotebook(panelParent, -1, wxDefaultPosition, wxDefaultSize, wxNB_TOP );
panel = new wxPanel(bookSetPoints);
-
+ cbAutoAddPoints = NULL;
+ cbTrackPoint = NULL;
+
wxSize sizeButton( 50 , -1 );
wxSize sizeSlider( 90 , -1 );
wxButton *btnRedo = new wxButton ( panel2, -1, _T("Redo") , wxDefaultPosition, sizeButton );
sCtrlRadio = new wxSpinCtrl( panel2, -1 , wxEmptyString, wxDefaultPosition, sizeButton );
- sCtrlRadio->SetRange(1,10);
+ sCtrlRadio->SetRange(1,20);
sCtrlRadio->SetValue( 6 );
sCtrlOpacity= new wxSpinCtrl( panel2, -1 , wxEmptyString, wxDefaultPosition, sizeButton );
sCtrlOpacity->SetRange(0,10);
// Connect(sdrRadio->GetId() , wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &WidgetShowNPoints::UpdatePoints);
sCtrlRadio = new wxSpinCtrl( panel, -1 , wxEmptyString, wxDefaultPosition, sizeButton );
- sCtrlRadio->SetRange(1,10);
+ sCtrlRadio->SetRange(1,20);
sCtrlRadio->SetValue( 6 );
sCtrlOpacity= new wxSpinCtrl( panel, -1 , wxEmptyString, wxDefaultPosition, sizeButton );
sCtrlOpacity->SetRange(0,10);
if (mtype==1)
{
// Widget interface
- wxButton *btnSetPositionPoint = new wxButton( panel, -1, _T("Set nearest point"));
- txtNrPoints = new wxStaticText(panel,-1, _T("-/-"));
+ wxButton *btnSetPositionPoint = new wxButton( panel, -1, _T("Set point"));
+// txtNrPoints = new wxStaticText(panel,-1, _T("-/-"));
//NTU: Sliders for opacity and radio change
// sdrRadio = new wxSlider(panel, -1, 0, 1, 50, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
// sdrOpacity = new wxSlider(panel, -1, 0, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
// Connect(sdrOpacity->GetId() , wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &WidgetShowNPoints::UpdatePoints);
// Connect(sdrRadio->GetId() , wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &WidgetShowNPoints::UpdatePoints);
- wxStaticText* txOpacity = new wxStaticText(panel, -1, wxString(_T(" Points Opacity ")));
- wxStaticText* txRadio = new wxStaticText(panel, -1, wxString(_T(" Points Radio ")));
+
+// wxStaticText* txOpacity = new wxStaticText(panel, -1, wxString(_T(" Points Opacity ")));
+
+// wxStaticText* txRadio = new wxStaticText(panel, -1, wxString(_T(" Points Radio ")));
sCtrlRadio = new wxSpinCtrl( panel, -1 , wxEmptyString, wxDefaultPosition, sizeButton );
- sCtrlRadio->SetRange(1,10);
+ sCtrlRadio->SetRange(1,20);
sCtrlRadio->SetValue( 6 );
sCtrlOpacity= new wxSpinCtrl( panel, -1 , wxEmptyString, wxDefaultPosition, sizeButton );
sCtrlOpacity->SetRange(0,10);
Connect( sCtrlOpacity->GetId() ,wxEVT_COMMAND_SPINCTRL_UPDATED,(wxObjectEventFunction)(void (wxPanel::*)(wxScrollEvent&)) &WidgetShowNPoints::UpdatePoints);
Connect(btnSetPositionPoint->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WidgetShowNPoints::OnSetPoint);
wxFlexGridSizer *sizer1 = new wxFlexGridSizer(1);
+ wxFlexGridSizer *sizer2H = new wxFlexGridSizer(2);
sizer1->Add(btnSetPositionPoint);
- sizer1->Add(txtNrPoints);
- sizer1->Add(txRadio);
+// sizer1->Add(txtNrPoints);
+// sizer1->Add(txRadio);
//sizer1->Add(sdrRadio,1,wxGROW );
//sizer1->Add(sdrOpacity,1,wxGROW );
- sizer1->Add(sCtrlRadio );
- sizer1->Add(sCtrlOpacity);
+ sizer2H->Add(sCtrlRadio );
+ sizer2H->Add(sCtrlOpacity);
+ sizer1->Add(sizer2H);
sizer = sizer1;
}
panel->SetSizer(sizer);
panel->SetAutoLayout(true);
panel->Layout();
- bookSetPoints->AddPage(panel , _T("Points") );
+
+ wxString strTmp;
+ strTmp.Printf(_T("%s") , labelTitle );
+// bookSetPoints->AddPage(panel , _T("Point") );
+ bookSetPoints->AddPage(panel , strTmp );
if ((mtype >= 0) && (mtype <= 3) )
{
//------------------------------------------------------------------------
void WidgetShowNPoints::AutoAddPoints()
{
- if ( cbAutoAddPoints->GetValue() == true )
+ if ( (cbAutoAddPoints!=NULL) && (cbAutoAddPoints->GetValue() == true) )
{
OnAddPoint__();
RefreshCollectionText();
//------------------------------------------------------------------------
void WidgetShowNPoints::StopAutoAddPoints( )
{
- cbAutoAddPoints->SetValue(false);
+ if (cbAutoAddPoints!=NULL)
+ {
+ cbAutoAddPoints->SetValue(false);
+ }
}
//------------------------------------------------------------------------
} else {
strTmp.Printf(_T(" %d/%d"), GetModelShowNPoints()->GetIdCurrentPoint()+1 , GetModelShowNPoints()->GetLstPointsSize() );
}// if IdCurrent<0
- txtNrPoints->SetLabel( strTmp );
+ if (txtNrPoints!=NULL)
+ {
+ txtNrPoints->SetLabel( strTmp );
+ }
//--BBTK
-
//EED 2017-06-03
// mbbShowNPoints->bbSetOutputlstPointsX( GetModelShowNPoints()->GetLstPointsX() );
// mbbShowNPoints->bbSetOutputlstPointsY( GetModelShowNPoints()->GetLstPointsY() );
void WidgetShowNPoints::OnSetPoint_()
{
UndoRedo_SaveCollection(); //A
-
StopAutoAddPoints();
StopTrackPoint();
-
//int id=GetModelShowNPoints()->GetNearestPoint();
int id=GetModelShowNPoints()->GetIdCurrentPoint();
-
if((id==-1) && (mtype==1))
{
id=0;
//------------------------------------------------------------------------
void WidgetShowNPoints::TrackingPoint( )
{
- if ( cbTrackPoint->GetValue() == true )
+ if ( (cbTrackPoint!=NULL) && (cbTrackPoint->GetValue() == true) )
{
// int id = GetModelShowNPoints()->IdInsidePoint();
// if (id>=0)
//------------------------------------------------------------------------
void WidgetShowNPoints::StopTrackPoint( )
{
- cbTrackPoint->SetValue(false);
+ if (cbTrackPoint!=NULL)
+ {
+ cbTrackPoint->SetValue(false);
+ } //
// idTrack=-1;
}
//------------------------------------------------------------------------
void WidgetShowNPoints::DetectCollectionActive()
{
+ printf("EED WidgetShowNPoints::DetectCollectionActive Start\n");
int id;
if ( (cbVisuActualCollection!=NULL) && (cbVisuActualCollection->GetValue()==false ) )
{
} else {
id = GetModelShowNPoints()->IdInsidePoint(); // forcing the selection of the point
} // if cbVisuActualCollection
-
+ printf("EED WidgetShowNPoints::DetectCollectionActive 1 \n");
RefreshCollectionText();
RefreshColourCollection();
+ printf("EED WidgetShowNPoints::DetectCollectionActive End \n");
}
//------------------------------------------------------------------------