2 # ---------------------------------------------------------------------
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
6 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
8 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
10 # This software is governed by the CeCILL-B license under French law and
11 # abiding by the rules of distribution of free software. You can use,
12 # modify and/ or redistribute the software under the terms of the CeCILL-B
13 # license as circulated by CEA, CNRS and INRIA at the following URL
14 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
15 # or in the file LICENSE.txt.
17 # As a counterpart to the access to the source code and rights to copy,
18 # modify and redistribute granted by the license, users are provided only
19 # with a limited warranty and the software's author, the holder of the
20 # economic rights, and the successive licensors have only limited
23 # The fact that you are presently reading this means that you have had
24 # knowledge of the CeCILL-B license and that you accept its terms.
25 # ------------------------------------------------------------------------
30 * wxCDMBlackBoxHelpDialog.cpp
32 * Created on: 11/1/2013
33 * Author: Daniel Felipe Gonzalez Obando
36 #include "wxCDMBlackBoxHelpDialog.h"
38 #include "creaDevManagerIds.h"
40 BEGIN_EVENT_TABLE(wxCDMBlackBoxHelpDialog, wxDialog)
41 EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMBlackBoxHelpDialog::OnFinish)
42 EVT_BUTTON(ID_BUTTON_OPENPROJECT, wxCDMBlackBoxHelpDialog::OnCMakeLists)
43 EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMBlackBoxHelpDialog::OnCMakeLists)
44 EVT_CHECKBOX(ID_CHECKBOX_DISABLE_HELP, wxCDMBlackBoxHelpDialog::OnDisableHelp)
47 wxCDMBlackBoxHelpDialog::wxCDMBlackBoxHelpDialog(
49 modelCDMBlackBox* blackBox,
51 const wxString& caption,
52 const wxPoint& position,
57 wxCDMBlackBoxHelpDialog::Create(parent, id, caption, position, size, style);
58 this->blackBox = blackBox;
61 wxCDMBlackBoxHelpDialog::~wxCDMBlackBoxHelpDialog()
65 bool wxCDMBlackBoxHelpDialog::Create(
68 const wxString& caption,
69 const wxPoint& position,
74 wxDialog::Create(parent, id, caption, position, size, style);
76 this->CreateControls();
81 void wxCDMBlackBoxHelpDialog::CreateControls()
84 wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
87 wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Working with BlackBoxes"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
88 v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
90 wxStaticText* instruction = new wxStaticText(
94 "Black boxes are made to work in a modular fashion. They have programmer defined inputs and outputs. Their "
95 "purpose is to use the functions available in the libraries and expose them to be used as boxes in the crea "
97 "Black boxes are stored in the src folder of a package and they are composed of two files, the header(.h) "
98 "and the implementation(.cxx) files.\n"
99 "To start developing black boxes, go ahead and open the header file with the button \"Open .h\" and define "
100 "the inputs and outputs of the black box. Then, you will be able to use them in the implementation file, which "
101 "you can open using the \"Open .cxx\" button.\n"
102 "If you don't understand how this inputs and outputs are used, try looking at the sample black boxes available "
103 "in the sample package, which is shipped with every new project.\n"
104 "Also, don't forget to include the libraries your boxes use in the header and implementation files. They should "
105 "also be pointed and included in the package's directory CMakeLists.txt file and the project's directory "
106 "CMakeLists.txt file. Again, please take a look at the sample package and its boxes to see how to include libraries "
107 "in order to use them in the boxes.\n"
109 "You can easily edit the CMakeLists files previously mentioned by clicking on the following buttons."),
114 v_sizer1->Add(instruction, 0,wxEXPAND | wxALL, 5);
116 wxButton* editCMakePKGBtn = new wxButton(this, ID_BUTTON_EDIT_CMAKELISTSFILE, wxT("Open Package's directory CMakeLists file"));
117 wxButton* editCMakePRJBtn= new wxButton(this, ID_BUTTON_OPENPROJECT, wxT("Open Project's directory CMakeLists file"));
119 v_sizer1->Add(editCMakePKGBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
120 v_sizer1->Add(editCMakePRJBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
122 v_sizer1->Add(new wxCheckBox(this, ID_CHECKBOX_DISABLE_HELP, wxT("&Disable help")), 0, wxALIGN_RIGHT | wxRIGHT, 10);
124 v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")), 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
127 //v_sizer1->RecalcSizes();
130 void wxCDMBlackBoxHelpDialog::OnFinish(wxCommandEvent& event)
132 this->EndDialog(wxID_CANCEL);
135 void wxCDMBlackBoxHelpDialog::OnCMakeLists(wxCommandEvent& event)
137 //TODO: implement method
138 std::cout << "OnCMakeLists not implemented yet." << std::endl;
142 void wxCDMBlackBoxHelpDialog::OnCMakeListsEnter(wxMouseEvent& event)
144 //TODO: implement method
145 std::cout << "OnCMakeListsEnter not implemented yet." << std::endl;
149 void wxCDMBlackBoxHelpDialog::OnCMakeListsExit(wxMouseEvent& event)
151 //TODO: implement method
152 std::cout << "OnCMakeListsExit not implemented yet." << std::endl;
156 void wxCDMBlackBoxHelpDialog::OnDisableHelp(wxCommandEvent& event)
158 wxPostEvent(this->GetParent(), event);