]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxTreeView.cpp
Fix _T(...
[creaImageIO.git] / src2 / creaImageIOWxTreeView.cpp
index 2f515314ccc6b89cf4b7828e6087a0c43a580a8a..fdf3a5c67ccfd2036071fd683d00f66bb952f8df 100644 (file)
@@ -1084,114 +1084,6 @@ namespace creaImageIO
   }
 
    //================================================================
-  void WxTreeView::SetColor(int l, int item)
-  {
-         int colorId=12;
-         GetCtrl(l)->SetItemTextColour(item, wxColourDatabase().Find
-                  (crea::std2wx(mColorPalette[colorId])));
-         GetCtrl(l)->SetItemState(item,wxLIST_STATE_SELECTED | wxLIST_STATE_FOCUSED, wxLIST_STATE_SELECTED);  /*
-         int colorId=0;
-         //Setting the color according to the parent
-               if(l==0)
-               {
-               item.SetBackgroundColour
-                 (wxColourDatabase().Find
-                  (crea::std2wx(mColorPalette[colorId]))); 
-               mColorMap.insert
-                 (NodeColorPair
-                  (*j,wxColourDatabase().Find
-                   (crea::std2wx(mColorPalette[colorId]))));
-               if(colorId<64)
-                 {
-                   colorId++;
-                 }
-               else
-                       {
-                         colorId=0;
-                       }
-               }
-               else if(l!=mLevelList.size()-1)
-                 {
-                   item.SetBackgroundColour(mColorMap[*i]); 
-                       mColorMap.insert(NodeColorPair(*j,mColorMap[*i]));
-               }
-               else
-               {
-                       item.SetBackgroundColour(mColorMap[*i]); 
-               }*/
-  }
-  //================================================================
-  void WxTreeView::CreateColorPalette()
-  {
-  GimmickDebugMessage(6,"WxTreeView::CreateColorPalette");
-  mColorPalette.push_back("WHITE");
-  mColorPalette.push_back("LIGHT GREY");
-  mColorPalette.push_back("AQUAMARINE");
-  mColorPalette.push_back("MEDIUM FOREST GREEN");
-  mColorPalette.push_back("INDIAN RED");
-  mColorPalette.push_back("KHAKI");
-  mColorPalette.push_back("ORANGE");
-  mColorPalette.push_back("LIGHT BLUE");
-  mColorPalette.push_back("LIGHT STEEL BLUE");
-  mColorPalette.push_back("PINK");
-  mColorPalette.push_back("PLUM");
-  mColorPalette.push_back("PURPLE");
-  mColorPalette.push_back("RED");
-  mColorPalette.push_back("SEA GREEN");
-  mColorPalette.push_back("SIENNA");
-  mColorPalette.push_back("SKY BLUE");
-  mColorPalette.push_back("SLATE BLUE");
-  mColorPalette.push_back("SPRING GREEN");
-  mColorPalette.push_back("TAN");
-  mColorPalette.push_back("THISTLE");
-  mColorPalette.push_back("TURQUOISE");
-  mColorPalette.push_back("VIOLET");
-  mColorPalette.push_back("VIOLET RED");
-  mColorPalette.push_back("WHEAT");
-  mColorPalette.push_back("YELLOW");
-  mColorPalette.push_back("YELLOW GREEN");
-  mColorPalette.push_back("BLUE");
-  mColorPalette.push_back("BLUE VIOLET");
-  mColorPalette.push_back("BROWN");
-  mColorPalette.push_back("CADET BLUE");
-  mColorPalette.push_back("CORAL");
-  mColorPalette.push_back("CORNFLOWER BLUE");
-  mColorPalette.push_back("CYAN");
-  mColorPalette.push_back("DARK GREY");
-  mColorPalette.push_back("DARK GREEN");
-  mColorPalette.push_back("DARK OLIVE GREEN");
-  mColorPalette.push_back("DARK ORCHID");
-  mColorPalette.push_back("DARK SLATE BLUE");
-  mColorPalette.push_back("DARK SLATE GREY");
-  mColorPalette.push_back("DARK TURQUOISE");
-  mColorPalette.push_back("FIREBRICK");
-  mColorPalette.push_back("FOREST GREEN");
-  mColorPalette.push_back("GOLD");
-  mColorPalette.push_back("GOLDENROD");
-  mColorPalette.push_back("GREY");
-  mColorPalette.push_back("GREEN");
-  mColorPalette.push_back("GREEN YELLOW");
-  mColorPalette.push_back("LIME GREEN");
-  mColorPalette.push_back("MAGENTA");
-  mColorPalette.push_back("MAROON");
-  mColorPalette.push_back("MEDIUM AQUAMARINE");
-  mColorPalette.push_back("MEDIUM BLUE");
-  mColorPalette.push_back("MEDIUM GOLDENROD");
-  mColorPalette.push_back("MEDIUM ORCHID");
-  mColorPalette.push_back("MEDIUM SEA GREEN");
-  mColorPalette.push_back("MEDIUM SLATE BLUE");
-  mColorPalette.push_back("MEDIUM SPRING GREEN");
-  mColorPalette.push_back("MEDIUM TURQUOISE");
-  mColorPalette.push_back("MEDIUM VIOLET RED");
-  mColorPalette.push_back("MIDNIGHT BLUE");
-  mColorPalette.push_back("NAVY");
-  mColorPalette.push_back("ORANGE RED");
-  mColorPalette.push_back("ORCHID, PALE GREEN");
-  mColorPalette.push_back("STEEL BLUE");
-  mColorPalette.push_back("BLACK");
-
-
-  }
 
    //================================================================
   void WxTreeView::GetAttributes(std::vector<std::string>& areShown, std::vector<std::string>& notShown, int level)
@@ -1203,13 +1095,85 @@ namespace creaImageIO
             a != GetTreeHandler()->GetTree().GetAttributeDescriptorList(level).end();
             ++a)
        {
-               if(a->GetFlags()==creaImageIO::tree::AttributeDescriptor::EDITABLE)
+               if(a->GetFlags()==creaImageIO::tree::AttributeDescriptor::EDITABLE && IsAttributeVisible(a->GetName(),level))
            {
                        areShown.push_back(a->GetName());
                }
        }
        notShown=mLevelList[level-1].notShownAtts;
   }
+
+  //================================================================
+  void WxTreeView::SetNonVisibleAttributes(const std::vector<std::string>& notShown, int nlevel)
+  {
+       mLevelList[nlevel].notShownAtts=notShown;
+  }
+
+  //================================================================
+   void WxTreeView::CreateCtrl(std::vector<std::string>& notShown, int nlevel)
+  {
+       int ctrl_style = wxLC_REPORT | wxLC_VRULES;
+    int col_style = wxLIST_FORMAT_LEFT;
+       LevelType level;
+       mLevelList[nlevel].SelectedUpToDate = true;
+       mLevelList[nlevel].SortColumn = 0;
+       mLevelList[nlevel].key.clear();
+       
+       mLevelList[nlevel].wxCtrl = new wxListCtrl(mLevelList[nlevel].wxSplitter,
+                                         nlevel,
+                                         wxDefaultPosition, 
+                                         wxDefaultSize,
+                                         ctrl_style);
+       wxWindow* oldWin=mLevelList[nlevel].wxSplitter->GetWindow1();
+       mLevelList[nlevel].wxSplitter->ReplaceWindow(oldWin,mLevelList[nlevel].wxCtrl);
+       mLevelList[nlevel].wxSplitter->Initialize(mLevelList[nlevel].wxCtrl);
+   
+       // Create the columns : one for each attribute of the level
+       int col = 0;
+       std::string title;
+
+       tree::LevelDescriptor::AttributeDescriptorListType::const_iterator a;
+       for (a  = GetTreeHandler()->GetTree().GetAttributeDescriptorList(nlevel+1).begin();
+            a != GetTreeHandler()->GetTree().GetAttributeDescriptorList(nlevel+1).end();
+            ++a)
+
+       {   
+           if(a->GetFlags()!=creaImageIO::tree::AttributeDescriptor::PRIVATE && IsAttributeVisible(a->GetName(),nlevel+1))
+             {
+                 title=a->GetName();
+                 std::string temp = a->GetKey();
+                 if (temp.compare("ID") != 0)
+                 {
+                       mLevelList[nlevel].wxCtrl->InsertColumn(col, 
+                                       crea::std2wx(title),
+                                       col_style);
+                       col++;
+                 }
+               mLevelList[nlevel].key.push_back(a->GetKey());
+             }
+               
+         }
+       oldWin->Destroy();
+       UpdateLevel(1);
+       }
+
+   //================================================================
+  bool WxTreeView::IsAttributeVisible(const std::string& val, int level)
+  {
+         std::vector<std::string> ns=mLevelList[level-1].notShownAtts;
+         std::vector<std::string>::iterator it;
+         bool found=false;
+         for(it=ns.begin();it!=ns.end()&&!found;++it)
+         {
+                 if(val.compare(*it)==0)
+                 {
+                         found=true;
+                 }
+         }
+
+         return !found;
+  }
+
   //================================================================
   //================================================================
   BEGIN_EVENT_TABLE(WxTreeView, wxPanel)