Public Member Functions | Private Member Functions | Private Attributes

creaImageIO::WxAttributeSelectionPanel Class Reference
[Top level graphical user interfaces]

#include <creaImageIOWxAttributeSelectionPanel.h>

Collaboration diagram for creaImageIO::WxAttributeSelectionPanel:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 WxAttributeSelectionPanel ()
 WxAttributeSelectionPanel (wxWindow *parent, wxDialog *dial, WxGimmickView *view, std::vector< std::string > sAtts, std::vector< std::string > nsAtts, int numLev)
 ~WxAttributeSelectionPanel ()
 Destructor.
void OnSaveConfig (wxCommandEvent &event)
 Saves the configuration.
void OnAdd (wxCommandEvent &event)
 Changes items from shown to notShown.
void OnRemove (wxCommandEvent &event)
 Changes items from notShown to shown.
void OnComboChange (wxCommandEvent &event)

Private Member Functions

void LoadCtrls ()
 Loads the information on the vectors onto the lists.

Private Attributes

std::vector< std::string > shownA
std::vector< std::string > notShownA
wxComboBox * levels
wxListCtrl * shownAtts
wxListCtrl * notShownAtts
wxDialog * dialog
WxGimmickViewmView

Detailed Description

Definition at line 17 of file creaImageIOWxAttributeSelectionPanel.h.


Constructor & Destructor Documentation

creaImageIO::WxAttributeSelectionPanel::WxAttributeSelectionPanel (  ) 
creaImageIO::WxAttributeSelectionPanel::WxAttributeSelectionPanel ( wxWindow *  parent,
wxDialog *  dial,
WxGimmickView view,
std::vector< std::string >  sAtts,
std::vector< std::string >  nsAtts,
int  numLev 
)

Definition at line 12 of file creaImageIOWxAttributeSelectionPanel.cpp.

References GimmickDebugMessage, creaImageIO::ID_COMBO, levels, LoadCtrls(), notShownAtts, OnAdd(), OnRemove(), OnSaveConfig(), and shownAtts.

 :   wxPanel( parent, 
                  -1, wxDefaultPosition, 
                  wxDefaultSize,
                  wxRESIZE_BORDER | 
              wxSYSTEM_MENU  |
                  wxCLOSE_BOX |
                  wxMAXIMIZE_BOX | 
                  wxMINIMIZE_BOX | 
                  wxCAPTION  
               ),       
                   dialog(dial),
                   shownA(sAtts),
                   notShownA(nsAtts),
                   mView(view)
  {
    GimmickDebugMessage(1,"WxCustomizeConfigPanel::WxCustomizeConfigPanel"
                        <<std::endl);
        wxStaticText * aa=new wxStaticText(this,-1,_T(" Currently shown attributes for level: "), wxPoint(5,10));
        wxArrayString as;
        std::stringstream out;
        for(int i=1;i<=numLev;i++)
        {
                out<<i;
                as.Add(crea::std2wx(out.str()));
                out.str("");
        }
        levels=new wxComboBox(this, ID_COMBO,_T("1"),wxPoint(190, 5),wxDefaultSize,as);
        wxStaticText * na=new wxStaticText(this,-1,_T(" Currently hidden attributes: "), wxPoint(255,10));

    shownAtts=new wxListCtrl(this, wxID_ANY, wxPoint(5,30), wxSize(160,90), wxLC_REPORT | wxLC_NO_HEADER );

        shownAtts->InsertColumn(0, 
                                   crea::std2wx(""),
                                   wxLIST_FORMAT_LEFT);
        shownAtts->SetColumnWidth(0,155);
        shownAtts->Show();

        wxButton *add = new wxButton(this,wxID_ANY,_T(">>"), wxPoint(170,50) );
        Connect( add->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxAttributeSelectionPanel::OnAdd ); 

        wxButton *remove = new wxButton(this,wxID_ANY,_T("<<"), wxPoint(170,70) );
        Connect( remove->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxAttributeSelectionPanel::OnRemove ); 
        
        notShownAtts=new wxListCtrl(this, wxID_ANY, wxPoint(255,30), wxSize(160,90), wxLC_REPORT | wxLC_NO_HEADER );

        notShownAtts->InsertColumn(0, 
                                   crea::std2wx(""),
                                   wxLIST_FORMAT_LEFT);
        notShownAtts->SetColumnWidth(0,155);
        notShownAtts->Show();
        LoadCtrls();

        wxButton *save = new wxButton(this,wxID_ANY,_T("Save Changes"), wxPoint(5,130) );
        Connect( save->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxAttributeSelectionPanel::OnSaveConfig ); 
   
    Layout(); 
  }

Here is the call graph for this function:

creaImageIO::WxAttributeSelectionPanel::~WxAttributeSelectionPanel (  ) 

Destructor.

Definition at line 77 of file creaImageIOWxAttributeSelectionPanel.cpp.

References GimmickDebugMessage.

  {
    GimmickDebugMessage(1,"WxAttributeSelectionPanel::~WxAttributeSelectionPanel"
                        <<std::endl);
  }


Member Function Documentation

void creaImageIO::WxAttributeSelectionPanel::LoadCtrls (  )  [private]

Loads the information on the vectors onto the lists.

Definition at line 150 of file creaImageIOWxAttributeSelectionPanel.cpp.

References notShownA, notShownAtts, shownA, and shownAtts.

Referenced by OnAdd(), OnComboChange(), OnRemove(), and WxAttributeSelectionPanel().

  {

          wxListItem item;
            item.SetMask(wxLIST_MASK_STATE | 
                         wxLIST_MASK_TEXT |
                         //                      wxLIST_MASK_IMAGE |
                         wxLIST_MASK_DATA |
                         //                      wxLIST_MASK_WIDTH |
                         wxLIST_MASK_FORMAT
                         );
        std::vector<std::string>::iterator it;
        shownAtts->DeleteAllItems();
        notShownAtts->DeleteAllItems();
        for(it=shownA.begin();it!=shownA.end();++it)
        {
                item.SetText(crea::std2wx(*it));
                shownAtts->InsertItem(item);
        }

        
        for(it=notShownA.begin();it!=notShownA.end();++it)
        {
                item.SetText(crea::std2wx(*it));
                notShownAtts->InsertItem(item);
        }

  }

Here is the caller graph for this function:

void creaImageIO::WxAttributeSelectionPanel::OnAdd ( wxCommandEvent &  event  ) 

Changes items from shown to notShown.

Definition at line 91 of file creaImageIOWxAttributeSelectionPanel.cpp.

References LoadCtrls(), notShownA, shownA, and shownAtts.

Referenced by WxAttributeSelectionPanel().

  {
        long item = -1;
        for ( ;; )
        {
                item = shownAtts->GetNextItem(item,
                        wxLIST_NEXT_ALL,
                        wxLIST_STATE_SELECTED);
                if ( item == -1 )
                        break;
        
                        std::string change = crea::wx2std(shownAtts->GetItemText(item));
                        std::vector<std::string>::iterator it;
                        bool found=false;
                        for(it=shownA.begin();it!=shownA.end()&&!found;++it)
                        {
                                if((*it).compare(change)==0)
                                {
                                        found=true;
                                }
                        }
                        shownA.erase(it-1);
                        notShownA.push_back(change);
        }
        LoadCtrls();
        
  }

Here is the call graph for this function:

Here is the caller graph for this function:

void creaImageIO::WxAttributeSelectionPanel::OnComboChange ( wxCommandEvent &  event  ) 

Definition at line 178 of file creaImageIOWxAttributeSelectionPanel.cpp.

References creaImageIO::WxGimmickView::GetVisibleAttributes(), levels, LoadCtrls(), mView, notShownA, and shownA.

  {
      int n=levels->GetSelection()+1;
          mView->GetVisibleAttributes(shownA,notShownA,n);
          LoadCtrls();
  }

Here is the call graph for this function:

void creaImageIO::WxAttributeSelectionPanel::OnRemove ( wxCommandEvent &  event  ) 

Changes items from notShown to shown.

Definition at line 119 of file creaImageIOWxAttributeSelectionPanel.cpp.

References LoadCtrls(), notShownA, notShownAtts, and shownA.

Referenced by WxAttributeSelectionPanel().

  {

        long item = -1;
        for ( ;; )
        {
                item = notShownAtts->GetNextItem(item,
                        wxLIST_NEXT_ALL,
                        wxLIST_STATE_SELECTED);
                if ( item == -1 )
                        break;
        
                        std::string change = crea::wx2std(notShownAtts->GetItemText(item));
                        std::vector<std::string>::iterator it;
                        bool found=false;
                        for(it=notShownA.begin();it!=notShownA.end()&&!found;++it)
                        {
                                if((*it).compare(change)==0)
                                {
                                        found=true;
                                }
                        }
                        notShownA.erase(it-1);
                        shownA.push_back(change);
                
        }
        LoadCtrls();    
          
  }

Here is the call graph for this function:

Here is the caller graph for this function:

void creaImageIO::WxAttributeSelectionPanel::OnSaveConfig ( wxCommandEvent &  event  ) 

Saves the configuration.

Definition at line 83 of file creaImageIOWxAttributeSelectionPanel.cpp.

References dialog, levels, mView, notShownA, and creaImageIO::WxGimmickView::OnAttributesChanged().

Referenced by WxAttributeSelectionPanel().

  {
          int n=levels->GetSelection();
          if(n<0){n=0;}
          mView->OnAttributesChanged(notShownA,n);
          dialog->Destroy();
  }

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 46 of file creaImageIOWxAttributeSelectionPanel.h.

Referenced by OnSaveConfig().

Definition at line 47 of file creaImageIOWxAttributeSelectionPanel.h.

Referenced by OnComboChange(), and OnSaveConfig().

std::vector<std::string> creaImageIO::WxAttributeSelectionPanel::notShownA [private]
std::vector<std::string> creaImageIO::WxAttributeSelectionPanel::shownA [private]

Definition at line 41 of file creaImageIOWxAttributeSelectionPanel.h.

Referenced by LoadCtrls(), OnAdd(), OnComboChange(), and OnRemove().


The documentation for this class was generated from the following files: