X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsWxGUIEditorGraphic%2FwxDiagramPropertiesEditionDialog.cxx;h=8de199cb69e37fd9eee5055d2111db872e861966;hb=refs%2Fheads%2Fvtk7itk4wx3;hp=c50a862a6f75c0955029475f1638f7ee827b6279;hpb=08bdabc6823bb93a10ff6b7eafa8144175698c81;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxDiagramPropertiesEditionDialog.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxDiagramPropertiesEditionDialog.cxx index c50a862..8de199c 100755 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxDiagramPropertiesEditionDialog.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxDiagramPropertiesEditionDialog.cxx @@ -1,3 +1,28 @@ +/* +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Santé) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ +*/ + /*========================================================================= Program: bbtkGEditor Module: $RCSfile$ @@ -36,13 +61,15 @@ Version: $Revision$ #include "wxDiagramPropertiesEditionDialog.h" #include "creaWx.h" + namespace bbtk { //========================================================================= - wxDiagramPropertiesEditionDialog::wxDiagramPropertiesEditionDialog(wxGUIEditorGraphicBBS *parent):wxDialog(parent,wxID_ANY,_T("Diagram Properties"), wxDefaultPosition, wxSize(320, 280),wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER) + wxDiagramPropertiesEditionDialog::wxDiagramPropertiesEditionDialog(wxGUIEditorGraphicBBS *parent, NodeTreeC tree):wxDialog(parent,wxID_ANY,_T("Diagram Properties"), wxDefaultPosition, wxSize(500, 650),wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER) { _parent = parent; + _tree = tree; constructDiagramPropertiesEditionDialog(); } @@ -55,6 +82,21 @@ namespace bbtk } //========================================================================= + + void wxDiagramPropertiesEditionDialog::constructBoxTree(NodeTreeC nodeTree, wxTreeItemId itemId) + { + + for(int i = 0 ; i < nodeTree.childs.size() ; i++) + { + string spc = nodeTree.childs[i].data; + const char* ccc = spc.c_str(); + wxString pc = wxString::FromUTF8 (ccc); + wxTreeItemId iId = _treeBox->AppendItem(itemId, pc, -1, -1, NULL); + constructBoxTree(nodeTree.childs[i], iId ); + } + } + + //================================================================================== void wxDiagramPropertiesEditionDialog::constructDiagramPropertiesEditionDialog() { @@ -64,6 +106,92 @@ namespace bbtk wxFlexGridSizer *fgsizer = new wxFlexGridSizer(5, 2, 9, 25); + //CFT + + wxStaticText *tree = new wxStaticText(panel, -1, wxT("Tree of Box")); + + string sp = _tree.data; + const char* cc = sp.c_str(); + wxString p = wxString::FromUTF8 (cc); + + _treeBox = new wxTreeCtrl (this, wxID_ANY, wxPoint(0,0), wxSize(320,300), wxTR_HAS_BUTTONS | wxTR_SINGLE ); + wxTreeItemId itemId = _treeBox->AddRoot(p, -1,-1,NULL); + + constructBoxTree(_tree, itemId); + _treeBox->ExpandAll(); + //_tree.treeTour(0); + //CFT END + +//CFT +//COMBOBOX OF MESSAGE +/* +Kind Level Nature +Interpreter 0 Messages of the interpreter +all 0 Minimum level for all kind of messages +change 0 Box i/o changes related messages +code 0 If positive then codes of the messages are displayed +config 0 Configuration related messages +connection 0 Connections related messages +data 0 Data related messages +debug 0 Debug messages +echo 1 Level>0 : Prints the output of the 'print' commands of the user. + Level>1 : Prints the command being interpreted +error 0 Error messages +gui 0 Graphical user interface related messages +help 1 Help messages +kernel 0 Messages generated by the core classes of the lib +max 9 Maximum level for all kind of messages +object 0 object memory related messages +output 1 Output messages +package 0 Packages related messages +process 0 Messages related to box processing +qt 0 Qt related messages +warning 1 Warning messages +widget 0 Widgets related messages +wx +*/ + _diagramMessageKind = new wxComboBox(panel, -1, wxT("-"), wxDefaultPosition, wxSize(100,-1) ); + _diagramMessageKind->Append (wxT("-")); + _diagramMessageKind->Append (wxT("Interpreter")); + _diagramMessageKind->Append (wxT("all")); + _diagramMessageKind->Append (wxT("change")); + _diagramMessageKind->Append (wxT("code")); + _diagramMessageKind->Append (wxT("config")); + _diagramMessageKind->Append (wxT("connection")); + _diagramMessageKind->Append (wxT("data")); + _diagramMessageKind->Append (wxT("debug")); + _diagramMessageKind->Append (wxT("echo")); + _diagramMessageKind->Append (wxT("error")); + _diagramMessageKind->Append (wxT("gui")); + _diagramMessageKind->Append (wxT("help")); + _diagramMessageKind->Append (wxT("kernel")); + _diagramMessageKind->Append (wxT("max")); + _diagramMessageKind->Append (wxT("object")); + _diagramMessageKind->Append (wxT("output")); + _diagramMessageKind->Append (wxT("package")); + _diagramMessageKind->Append (wxT("process")); + _diagramMessageKind->Append (wxT("qt")); + _diagramMessageKind->Append (wxT("warning")); + _diagramMessageKind->Append (wxT("widget")); + _diagramMessageKind->Append (wxT("wx")); + _diagramMessageKind->SetEditable(false); + + _diagramMessageLevel = new wxComboBox(panel, -1, wxT("-"), wxDefaultPosition, wxSize(100,-1) ); + _diagramMessageLevel->Append (wxT("-")); + _diagramMessageLevel->Append (wxT("0")); + _diagramMessageLevel->Append (wxT("1")); + _diagramMessageLevel->Append (wxT("2")); + _diagramMessageLevel->Append (wxT("3")); + _diagramMessageLevel->Append (wxT("4")); + _diagramMessageLevel->Append (wxT("5")); + _diagramMessageLevel->Append (wxT("6")); + _diagramMessageLevel->Append (wxT("7")); + _diagramMessageLevel->Append (wxT("8")); + _diagramMessageLevel->Append (wxT("9")); + _diagramMessageLevel->SetEditable(false); + +//CFT END + // SELECTION CONSTANTS // 0 - Application // 1 - Complex box @@ -78,11 +206,52 @@ namespace bbtk int currentType = (_parent->isCurrentDiagramComplexBox()==false)? 0 : 1; _diagramType->Select(currentType); + std::string currentKindStr = _parent->getCurrentDiagramMessageKind(); + int currentKind=0; // "-" + if (currentKindStr =="Interpreter") { currentKind = 1; } + if (currentKindStr == "all") { currentKind = 2; } + if (currentKindStr == "change") { currentKind = 3; } + if (currentKindStr == "code") { currentKind = 4; } + if (currentKindStr == "config") { currentKind = 5; } + if (currentKindStr == "connection") { currentKind = 6; } + if (currentKindStr == "data") { currentKind = 7; } + if (currentKindStr == "debug") { currentKind = 8; } + if (currentKindStr == "echo") { currentKind = 9; } + if (currentKindStr == "error") { currentKind = 10; } + if (currentKindStr == "gui") { currentKind = 11; } + if (currentKindStr == "help") { currentKind = 12; } + if (currentKindStr == "kernel") { currentKind = 13; } + if (currentKindStr == "max") { currentKind = 14; } + if (currentKindStr == "object") { currentKind = 15; } + if (currentKindStr == "output") { currentKind = 16; } + if (currentKindStr == "package") { currentKind = 17; } + if (currentKindStr == "process") { currentKind = 18; } + if (currentKindStr == "qt" ) { currentKind = 19; } + if (currentKindStr == "warning") { currentKind = 20; } + if (currentKindStr == "widget") { currentKind = 21; } + if (currentKindStr == "wx" ) { currentKind = 22; } + _diagramMessageKind->Select(currentKind); + + std::string currentLevelStr = _parent->getCurrentDiagramMessageLevel(); + int currentLevel = 0; + if (currentLevelStr == "0" ) { currentLevel = 1; } + if (currentLevelStr == "1" ) { currentLevel = 2; } + if (currentLevelStr == "2" ) { currentLevel = 3; } + if (currentLevelStr == "3" ) { currentLevel = 4; } + if (currentLevelStr == "4" ) { currentLevel = 5; } + if (currentLevelStr == "5" ) { currentLevel = 6; } + if (currentLevelStr == "6" ) { currentLevel = 7; } + if (currentLevelStr == "7" ) { currentLevel = 8; } + if (currentLevelStr == "8" ) { currentLevel = 9; } + if (currentLevelStr == "9" ) { currentLevel = 10;} + _diagramMessageLevel->Select(currentLevel); wxStaticText *type = new wxStaticText(panel, -1, wxT("Type")); wxStaticText *author = new wxStaticText(panel, -1, wxT("Author")); wxStaticText *category = new wxStaticText(panel, -1, wxT("Categories")); wxStaticText *description = new wxStaticText(panel, -1, wxT("Description")); + wxStaticText *messageKind = new wxStaticText(panel, -1, wxT("Message kind")); + wxStaticText *messageLevel = new wxStaticText(panel, -1, wxT("Message level")); _txtAuthor = new wxTextCtrl(panel, -1); _txtCategory = new wxTextCtrl(panel, -1); @@ -108,6 +277,14 @@ namespace bbtk fgsizer->Add(_txtCategory, 1, wxEXPAND); fgsizer->Add(description, 1, wxEXPAND); fgsizer->Add(_txtDescription, 1, wxEXPAND); +//cft + fgsizer->Add(messageKind); + fgsizer->Add(_diagramMessageKind, 1, wxEXPAND); + fgsizer->Add(messageLevel); + fgsizer->Add(_diagramMessageLevel, 1, wxEXPAND); + fgsizer->Add(tree); + fgsizer->Add(_treeBox, 1, wxEXPAND); +//cft end fgsizer->Add(okButton, 1, wxEXPAND); fgsizer->Add(closeButton, 1, wxEXPAND); @@ -131,7 +308,7 @@ namespace bbtk void wxDiagramPropertiesEditionDialog::onClickOk(wxCommandEvent& event) { - + printf("RaC wxDiagramPropertiesEditionDialog::onClickOk\n"); std::string txtAuthor = wx2std(_txtAuthor->GetValue()); std::string txtCategory = wx2std(_txtCategory->GetValue()); std::string txtDescription = wx2std(_txtDescription->GetValue()); @@ -148,6 +325,12 @@ namespace bbtk else if (selection == 1) _parent->enableComplexBox(); + + //Message + std::string kindSelected = wx2std(_diagramMessageKind->GetStringSelection()); + std::string levelSelected = wx2std(_diagramMessageLevel->GetStringSelection()); + _parent->setCurrentDiagramMessageKind(kindSelected); + _parent->setCurrentDiagramMessageLevel(levelSelected); Close(true); }