--- /dev/null
+/* XPM */
+static char * editProperties_xpm[] = {
+"16 16 17 1",
+" c None",
+". c #383838",
+"+ c #484848",
+"@ c #888888",
+"# c #121212",
+"$ c #4C4C4C",
+"% c #3A3A3A",
+"& c #474747",
+"* c #535353",
+"= c #515151",
+"- c #919191",
+"; c #525252",
+"> c #8F8F8F",
+", c #8C8C8C",
+"' c #4D4D4D",
+") c #838383",
+"! c #3C3C3C",
+" .+@ ",
+" ###$ ",
+" ###% ",
+" && ",
+" *=== ",
+" ##### ",
+" #### ",
+" ### ",
+" ## ",
+" ## ",
+" ## ",
+" ##= ",
+" ##= ",
+" -;##*>,@ ",
+" #######') ",
+" #######! "};
const int ID_UNDO = 1024; // FCY
const int ID_REDO = 1025; // FCY
const int ID_CHANGENAME = 1026;
+
+ const int ID_EDIT = 1027; // RaC
}
// namespace bbtk
#endif
wxBitmap bmp_complexoutputport(complexoutputport_xpm);
wxBitmap bmp_undo(undo_xpm);
wxBitmap bmp_redo(redo_xpm);
+ wxBitmap bmp_editProperties(editProperties_xpm);
wxToolBar *toolbar = new wxToolBar(this, wxID_ANY);
//Adds a tool btn to the toolbar
toolbar->AddSeparator();
toolbar->AddTool(ID_UNDO, _T("Undo"),bmp_undo, wxNullBitmap, wxITEM_NORMAL, _T("Undo"), _T("Undo"));
toolbar->AddTool(ID_REDO, _T("Redo"),bmp_redo, wxNullBitmap, wxITEM_NORMAL, _T("Redo"), _T("Redo"));
+ toolbar->AddSeparator();
+ toolbar->AddTool(ID_EDIT, _T("Edit diagram properties"),bmp_editProperties, wxNullBitmap, wxITEM_NORMAL, _T("Edit diagram properties"), _T("Edit diagram properties"));
toolbar->EnableTool(ID_UNDO, false);
toolbar->EnableTool(ID_REDO, false);
Connect(ID_UNDO,wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnUndo));
Connect(ID_REDO,wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnRedo));
Connect(ID_CHANGENAME, wxEVT_COMMAND_RIGHT_CLICK, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnChangeName));
+ Connect(ID_EDIT,wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(wxGUIEditorGraphicBBS::OnEditDiagramProperties));
+
}
//=========================================================================
void wxGUIEditorGraphicBBS::initHelpHTMLBrowser() {
refreshGUIControls();
}
+//=========================================================================
+
void wxGUIEditorGraphicBBS::OnRedo(wxCommandEvent& event) {
unsigned short disable;
std::string stundo;
void wxGUIEditorGraphicBBS::OnChangeName(wxCommandEvent& event){
}
+
+//=========================================================================
+
+void wxGUIEditorGraphicBBS::OnEditDiagramProperties(wxCommandEvent& event)
+{
+ wxDiagramPropertiesEditionDialog* dialog =
+ new wxDiagramPropertiesEditionDialog(this);
+ dialog->Show();
+}
+
//=========================================================================
void wxGUIEditorGraphicBBS::OnExecuteActualDiagram(wxCommandEvent& event) {
Close(true);
}
+//=========================================================================
+
+
+void wxGUIEditorGraphicBBS::setCurrentDiagramDescription(std::string description)
+{
+ _tabsMgr->SetDescription(description);
+}
+
+//=========================================================================
+
+void wxGUIEditorGraphicBBS::setCurrentDiagramAuthor(std::string author)
+{
+ _tabsMgr->SetAuthor(author);
+}
+
+//=========================================================================
+
+void wxGUIEditorGraphicBBS::setCurrentDiagramCategory(std::string category)
+{
+ _tabsMgr->SetCategory(category);
+}
+
+//=========================================================================
+
+std::string wxGUIEditorGraphicBBS::getCurrentDiagramDescription()
+{
+ return _tabsMgr->GetDescription();
+}
+
+//=========================================================================
+std::string wxGUIEditorGraphicBBS::getCurrentDiagramAuthor()
+{
+ return _tabsMgr->GetAuthor();
+}
//=========================================================================
+
+std::string wxGUIEditorGraphicBBS::getCurrentDiagramCategory()
+{
+ return _tabsMgr->GetCategory();
+}
+
+
} // EO namespace bbtk
// EOF
//Includes same project
#include "wxTabPanelsManager.h"
#include "wxBlackBoxEditionDialog.h"
+#include "wxDiagramPropertiesEditionDialog.h"
#include "wxVtkSceneManager.h"
#include "GlobalConstants.h"
#include "wxart_complexoutputport.xpm"
#include "wxart_undo.xpm"
#include "wxart_redo.xpm"
+#include "wxart_editProperties.xpm"
//Includes creaMaracasVisu
void OnUndo(wxCommandEvent& event);
void OnRedo(wxCommandEvent& event);
void OnChangeName(wxCommandEvent& event);
+ void OnEditDiagramProperties(wxCommandEvent& event);
// Edit menu events
void OnCopySelectedToComplexDiagram(wxCommandEvent& event);
void OnShowHTMLDoc(wxCommandEvent& event);
void OnCreateIndex(wxCommandEvent& event);
-
+ // Getters and Setters of current diagram properties
+ // RaC-2012
+ void setCurrentDiagramDescription(std::string description);
+ void setCurrentDiagramAuthor(std::string author);
+ void setCurrentDiagramCategory(std::string category);
+
+ std::string getCurrentDiagramDescription();
+ std::string getCurrentDiagramAuthor();
+ std::string getCurrentDiagramCategory();
private:
--- /dev/null
+/*=========================================================================
+Program: bbtkGEditor
+Module: $RCSfile$
+Language: C++
+Date: $Date$
+Version: $Revision$
+=========================================================================*/
+
+/* ---------------------------------------------------------------------
+
+* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
+* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux, Ricardo A Corredor
+*
+* 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.
+* ------------------------------------------------------------------------ */
+
+/**
+* \file
+* \brief Class bbtk::wxDiagramPropertiesEditionDialog .
+*/
+
+#include "wxDiagramPropertiesEditionDialog.h"
+#include "creaWx.h"
+
+namespace bbtk
+{
+ //=========================================================================
+
+ wxDiagramPropertiesEditionDialog::wxDiagramPropertiesEditionDialog(wxGUIEditorGraphicBBS *parent):wxDialog(parent,wxID_ANY,_T("Diagram Properties"), wxDefaultPosition, wxSize(520, 640),wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
+ {
+ _parent = parent;
+ constructDiagramPropertiesEditionDialog();
+ }
+
+ //=========================================================================
+
+
+ wxDiagramPropertiesEditionDialog::~wxDiagramPropertiesEditionDialog()
+ {
+
+ }
+
+ //=========================================================================
+
+ void wxDiagramPropertiesEditionDialog::constructDiagramPropertiesEditionDialog()
+ {
+
+ wxPanel *panel = new wxPanel(this, -1);
+ wxBoxSizer *hbox = new wxBoxSizer(wxHORIZONTAL);
+ wxFlexGridSizer *fgsizer = new wxFlexGridSizer(4, 2, 9, 25);
+
+ wxStaticText *author = new wxStaticText(panel, -1, wxT("Author"));
+ wxStaticText *category = new wxStaticText(panel, -1, wxT("Category"));
+ wxStaticText *description = new wxStaticText(panel, -1, wxT("Description"));
+
+ _txtAuthor = new wxTextCtrl(panel, -1);
+ _txtCategory = new wxTextCtrl(panel, -1);
+ _txtDescription = new wxTextCtrl(panel, -1, wxT(""), wxPoint(-1, -1), wxSize(-1, -1), wxTE_MULTILINE);
+ wxButton *okButton = new wxButton(panel, -1, _T("Ok"),wxDefaultPosition, wxSize(-1, -1));
+ wxButton *closeButton = new wxButton(panel, -1, _T("Close"), wxDefaultPosition, wxSize(-1, -1));
+
+ // connect command event handlers
+ Connect(okButton->GetId(),wxEVT_COMMAND_BUTTON_CLICKED,wxCommandEventHandler(wxDiagramPropertiesEditionDialog::onClickOk));
+ Connect(closeButton->GetId(),wxEVT_COMMAND_BUTTON_CLICKED,wxCommandEventHandler(wxDiagramPropertiesEditionDialog::onClickClose));
+
+
+ fgsizer->Add(author);
+ fgsizer->Add(_txtAuthor, 1, wxEXPAND);
+ fgsizer->Add(category);
+ fgsizer->Add(_txtCategory, 1, wxEXPAND);
+ fgsizer->Add(description, 1, wxEXPAND);
+ fgsizer->Add(_txtDescription, 1, wxEXPAND);
+ fgsizer->Add(okButton, 1, wxEXPAND);
+ fgsizer->Add(closeButton, 1, wxEXPAND);
+
+ fgsizer->AddGrowableRow(2, 1);
+ fgsizer->AddGrowableCol(1, 1);
+
+ hbox->Add(fgsizer, 1, wxALL | wxEXPAND, 15);
+ panel->SetSizer(hbox);
+ Centre();
+
+ ShowModal();
+ Destroy();
+
+ // Assign loaded values
+
+ _txtAuthor->SetValue(crea::std2wx(_parent->getCurrentDiagramAuthor()));
+ _txtCategory->SetValue(crea::std2wx(_parent->getCurrentDiagramCategory()));
+ _txtDescription->SetValue(crea::std2wx(_parent->getCurrentDiagramDescription()));
+ }
+
+ //=========================================================================
+
+ void wxDiagramPropertiesEditionDialog::onClickOk(wxCommandEvent& event)
+ {
+
+ std::string txtAuthor = wx2std(_txtAuthor->GetValue());
+ std::string txtCategory = wx2std(_txtCategory->GetValue());
+ std::string txtDescription = wx2std(_txtDescription->GetValue());
+ _parent->setCurrentDiagramAuthor(txtAuthor);
+ _parent->setCurrentDiagramCategory(txtCategory);
+ _parent->setCurrentDiagramDescription(txtDescription);
+ Close(true);
+ }
+
+ //=========================================================================
+
+ void wxDiagramPropertiesEditionDialog::onClickClose(wxCommandEvent& event)
+ {
+ printf("RaC wxDiagramPropertiesEditionDialog::onClickClose\n");
+ Close(true);
+ }
+
+ //=========================================================================
+
+ //=========================================================================
+
+
+
+
+} // EO namespace bbtk
+
+
--- /dev/null
+/*=========================================================================
+Program: bbtkGEditor
+Module: $RCSfile$
+Language: C++
+Date: $Date$
+Version: $Revision$
+=========================================================================*/
+
+/* ---------------------------------------------------------------------
+
+* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
+* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux, Ricardo A Corredor
+*
+* 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.
+* ------------------------------------------------------------------------ */
+
+
+
+/**
+* \file
+* \brief Class bbtk::wxDiagramPropertiesEditionDialog
+*/
+
+/****
+* BBTK GEditor Improvements - 2nd HackFest
+* Ricardo A Corredor J Ricardo.Corredor@creatis.insa-lyon.fr
+* RaC - 2012
+****/
+
+#ifndef __wxDiagramPropertiesEditionDialog_h__
+#define __wxDiagramPropertiesEditionDialog_h__
+
+//Includes same project
+#include "bbtkwxGUIEditorGraphicBBS.h"
+#include "wxVtkSceneManager.h"
+
+//Includes wxWidgets
+#include <wx/wx.h>
+#include <wx/aui/aui.h>
+
+//Includes creaMaracasVisu
+
+//Includes std
+#include <iostream>
+
+
+namespace bbtk
+{
+
+ //RaC: It is important if it exists a double relation
+ //e.g. wxBlackBoxEditionDialog includes wxGUIEditorGraphicBBS, and wxGUIEditorGraphicBBS includes wxBlackBoxEditionDialog
+ class wxGUIEditorGraphicBBS;
+ //class wxVtkSceneManager;
+
+ class wxDiagramPropertiesEditionDialog : public wxDialog
+ {
+ public:
+ wxDiagramPropertiesEditionDialog(wxGUIEditorGraphicBBS *parent);
+ ~wxDiagramPropertiesEditionDialog();
+
+ void constructDiagramPropertiesEditionDialog();
+
+ void onClickOk(wxCommandEvent& event);
+ void onClickClose(wxCommandEvent& event);
+
+ private:
+ wxAuiManager *_dialogAUIMgr;
+ wxPanel *_panel;
+ wxGUIEditorGraphicBBS *_parent;
+ wxTextCtrl *_txtAuthor;
+ wxTextCtrl *_txtCategory;
+ wxTextCtrl *_txtDescription;
+
+
+
+ protected:
+
+ };
+
+
+}
+// namespace bbtk
+#endif
+
void VerifyLastTabPanel();
+ // Getters and Setters of current diagram
void SetCbName(std::string cbName);
void SetCbPackageName(std::string packagename);
void SetAuthor(std::string author);
// FillPortText
px = px - 33;
- py = py;
+ //py = py;
_fillObjectActor->SetScale(1);
_fillObjectActor->GetProperty()->SetOpacity(0.50);
_fillObjectActor->SetPosition(px, py, 1);