/*========================================================================= Program: bbtk Module: $RCSfile: bbwxColourSelectorButton.cxx,v $ Language: C++ Date: $Date: 2008/02/20 11:36:29 $ Version: $Revision: 1.1 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ /** * \file * \brief Short description in one line * * Long * description * */ #ifdef _USE_WXWIDGETS_ #include "bbwxColourSelectorButton.h" #include "bbwxPackage.h" namespace bbwx { //------------------------------------------------------------------------- wxColourPickerCtrlWidget::wxColourPickerCtrlWidget( ColourSelectorButton* box, wxWindow *parent, unsigned char cr, unsigned char cg, unsigned char cb ) : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL), mBox(box) { bbtkDebugMessage("Process",9,"=> wxColourPickerCtrlWidget::wxColourPickerCtrlWidget"<SetPickerCtrlGrowable(false); picker->SetTextCtrlGrowable(false); Connect ( picker->GetId(), wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEventHandler( wxColourPickerCtrlWidget::OnColorChange ) ); bbtkDebugMessage("Process",9,"<= wxColourPickerCtrlWidget::wxColourPickerCtrlWidget"< AddGrowableRow(0); sizer -> Add( picker, 1, wxEXPAND, 0 ); panel -> SetSizer(sizer); } wxColourPickerCtrlWidget::~wxColourPickerCtrlWidget() { } //--------------------------------------------------------------------- void wxColourPickerCtrlWidget::OnColorChange(wxColourPickerEvent& e) { UpdateBox(); } //--------------------------------------------------------------------- void wxColourPickerCtrlWidget::UpdateBox() { char col[100]; wxColour c = picker->GetColour(); sprintf(col,"%f %f %f",c.Red()/255.,c.Green()/255.,c.Blue()/255.); // std::cout << col << std::endl; ColourSelectorButton* b = (ColourSelectorButton*)mBox; b->bbSetOutputOut( col ); b->bbSignalOutputModification("Out"); } //-------------------------------------------------------------------------- //------------------------------------------------------------------------- // WxBlackBox implementation //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- BBTK_USER_BLACK_BOX_IMPLEMENTATION(ColourSelectorButton,bbtk::WxBlackBox); BBTK_ADD_BLACK_BOX_TO_PACKAGE(wx,ColourSelectorButton); void ColourSelectorButton::bbUserConstructor() { bbSetInputIn("1 1 1"); } void ColourSelectorButton::Process() { bbtkDebugMessageInc("Process",9,"ColourSelectorButton::Process()"<UpdateBox(); bbtkDebugDecTab("Process",9); } /** * \brief Create wxWidget . * * */ void ColourSelectorButton::CreateWidget() { bbtkDebugMessage("Process",9,"=> ColourSelectorButton::CreateWidget()"<