]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbcreaMaracasVisuColorLayerImageView.cxx
#3465 SetwxVtkBaseViewSetOpacityAxis box
[creaMaracasVisu.git] / bbtk / src / bbcreaMaracasVisuColorLayerImageView.cxx
index 9b1d4386a2c4bcbfb94d66cc629f412d25d88aea..afd1af0454e082f55d7e2f1539f47c99348b4f92 100644 (file)
 namespace bbcreaMaracasVisu
 {
 
+
+class ColorLayerImageView;
+
+class ColorLayerImageViewPanel_widgetBox : public ColorLayerImageViewPanel
+{
+       public:
+       ColorLayerImageViewPanel_widgetBox( wxWindow * parent, int min, int max,int opacity, int type  );
+       void SetBox(ColorLayerImageView* box);
+       void ChangeOpacity();
+       private:
+    ColorLayerImageView *mBox;
+};
+
+ColorLayerImageViewPanel_widgetBox::ColorLayerImageViewPanel_widgetBox( wxWindow * parent, int min, int max,int opacity, int type  )
+        : ColorLayerImageViewPanel( parent,  min, max, opacity, type  )
+{
+       mBox=NULL;
+}
+
+void ColorLayerImageViewPanel_widgetBox::ChangeOpacity()
+{
+       ColorLayerImageViewPanel::ChangeOpacity();
+       if (mBox!=NULL)
+       {
+               mBox->bbSetOutputOutOpacity( GetOpacity() );
+               mBox->bbSignalOutputModification();
+       } // if mBox
+}
+
+void ColorLayerImageViewPanel_widgetBox::SetBox(ColorLayerImageView* box)
+{
+       mBox=box;       
+}
+
+
+
 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ColorLayerImageView)
 BBTK_BLACK_BOX_IMPLEMENTATION(ColorLayerImageView,bbtk::WxBlackBox);
 //=====
@@ -41,62 +77,46 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ColorLayerImageView,bbtk::WxBlackBox);
 //=====
 void ColorLayerImageView::Process()
 {
-    ColorLayerImageViewPanel *clivp = (ColorLayerImageViewPanel*)bbGetOutputWidget();
-
+    ColorLayerImageViewPanel_widgetBox *clivp = (ColorLayerImageViewPanel_widgetBox*)bbGetOutputWidget();
         if (firsttime==true)
         {
-               firsttime=false;
+//             firsttime=false;
        clivp->SetActive( bbGetInputActive() );
         }
-
-
     clivp->GetColorLayerImageViewManager()->SetwxVtkBaseView( 0 , bbGetInputWxVtkBaseView() );
     clivp->GetColorLayerImageViewManager()->SetwxVtkBaseView( 1 , bbGetInputWxVtkBaseView1() );
     clivp->GetColorLayerImageViewManager()->SetwxVtkBaseView( 2 , bbGetInputWxVtkBaseView2() );
-
     std::vector<double> range = bbGetInputlstRangeForColorBar();
     clivp->GetColorLayerImageViewManager()->SetRangeForColorBar( range );
-
     std::vector<int> colorbarposition = bbGetInputColorBarPosition();
     clivp->GetColorLayerImageViewManager()->SetColorBarPosition( colorbarposition );
-
     std::vector<double> base_color = bbGetInputlstBaseColor();
     clivp->GetColorLayerImageViewManager()->SetBaseColors( base_color );
-
     std::vector<double> grey_level_boundaries = bbGetInputlstGreyLevelBoundaries();
     clivp->GetColorLayerImageViewManager()->SetGreyLevelBoundaries( grey_level_boundaries );
-
     std::vector<double> transparence_level_boundaries = bbGetInputlstTransparenceBoundaries();
     clivp->GetColorLayerImageViewManager()->SetBaseTransparence( transparence_level_boundaries );
-
     clivp->GetColorLayerImageViewManager()->SetPlainOrGradientColor( bbGetInputPlainOrGradientColor() );
     clivp->SetFittingMode( bbGetInputFittingMode() );
-
-
     clivp->SetImage( bbGetInputIn() );
-
     bbSetOutputNewImage( clivp->GetColorLayerImageViewManager()->GetImageChangeInformation(0) );
-
-
-
-//   std::string msg;
-//    if (bbGetInputTitle()!="")
-//    {
-//        msg = bbGetInputTitle()+": " + bbGetInputIn();
-//    }else{
-//        msg = bbGetInputIn();
-//    }
-//   ((wxStaticText*)bbGetOutputWidget())->SetLabel( bbtk::std2wx( msg ) );
-
+    bbSetOutputLookupTable( clivp->GetColorLayerImageViewManager()->GetLookupTable(0) );
+       bbSetOutputOutOpacity( clivp->GetOpacity() );
+    
+       if (firsttime==true)
+       {
+               firsttime=false;
+       clivp->ChangeOpacity();
+               clivp->SetBox(this);
+       }
 }
 //=====
 // Don't edit this file. This file is generated from xml description..
 //=====
 void ColorLayerImageView::CreateWidget(wxWindow* parent)
 {
-  ColorLayerImageViewPanel *clivp = new ColorLayerImageViewPanel(parent, 0, 100, bbGetInputOpacity() ,bbGetInputTypeControlsInterface() );
-  bbSetOutputWidget( clivp );
+       ColorLayerImageViewPanel_widgetBox *clivp = new ColorLayerImageViewPanel_widgetBox(parent, 0, 100, bbGetInputOpacity() ,bbGetInputTypeControlsInterface() );
+       bbSetOutputWidget( (ColorLayerImageViewPanel*)clivp );
 }
 //=====
 // Don't edit this file. This file is generated from xml description..