]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbcreaMaracasVisuColorLayerImageView.cxx
#3461 Feuture Export Opacity ColorLayerImageView
[creaMaracasVisu.git] / bbtk / src / bbcreaMaracasVisuColorLayerImageView.cxx
index 6681598bd21ee82392692900946dfc08a3b0ea7b..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,7 +77,7 @@ 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;
@@ -65,19 +101,22 @@ void ColorLayerImageView::Process()
     clivp->SetImage( bbGetInputIn() );
     bbSetOutputNewImage( clivp->GetColorLayerImageViewManager()->GetImageChangeInformation(0) );
     bbSetOutputLookupTable( clivp->GetColorLayerImageViewManager()->GetLookupTable(0) );
-        if (firsttime==true)
-        {
+       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..