+/*
+# ---------------------------------------------------------------------
+#
+# 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$
#include "wxDiagramPropertiesEditionDialog.h"
#include "creaWx.h"
+
namespace bbtk
{
//=========================================================================
- wxDiagramPropertiesEditionDialog::wxDiagramPropertiesEditionDialog(wxGUIEditorGraphicBBS *parent):wxDialog(parent,wxID_ANY,_T("Diagram Properties"), wxDefaultPosition, wxSize(420, 340),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();
}
}
//=========================================================================
+
+ 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()
{
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, wxEmptyString, wxDefaultPosition, wxSize(100,-1) );
+ _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("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, wxEmptyString, wxDefaultPosition, wxSize(100,-1) );
+ _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
int currentType = (_parent->isCurrentDiagramComplexBox()==false)? 0 : 1;
_diagramType->Select(currentType);
+ _diagramMessageKind->Select(currentType);
+ _diagramMessageLevel->Select(currentType);
wxStaticText *type = new wxStaticText(panel, -1, wxT("Type"));
wxStaticText *author = new wxStaticText(panel, -1, wxT("Author"));
- wxStaticText *category = new wxStaticText(panel, -1, wxT("Category"));
+ 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);
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);
fgsizer->AddGrowableCol(1, 1);
hbox->Add(fgsizer, 1, wxALL | wxEXPAND, 15);
- panel->SetSizer(hbox);
+ panel->SetSizerAndFit(hbox);
Centre();
ShowModal();
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());
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);
}