From 8973673f3f984656ec3552b5d963ba7b18119d39 Mon Sep 17 00:00:00 2001 From: dsarrut Date: Mon, 1 Mar 2010 08:37:19 +0000 Subject: [PATCH] tool example --- vv/vvToolFooWithWidgetBase.cxx | 74 ++++++++++++++++++++++++++++++++++ vv/vvToolFooWithWidgetBase.h | 62 ++++++++++++++++++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 vv/vvToolFooWithWidgetBase.cxx create mode 100644 vv/vvToolFooWithWidgetBase.h diff --git a/vv/vvToolFooWithWidgetBase.cxx b/vv/vvToolFooWithWidgetBase.cxx new file mode 100644 index 0000000..638ca0a --- /dev/null +++ b/vv/vvToolFooWithWidgetBase.cxx @@ -0,0 +1,74 @@ +/*========================================================================= + + Program: vv + Module: $RCSfile: vvToolFooWithWidgetBase.cxx,v $ + Language: C++ + Date: $Date: 2010/03/01 08:37:19 $ + Version: $Revision: 1.1 $ + Author : David Sarrut (david.sarrut@creatis.insa-lyon.fr) + + Copyright (C) 2010 + Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + CREATIS http://www.creatis.insa-lyon.fr + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, version 3 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + =========================================================================*/ + +#include "vvToolFooWithWidgetBase.h" + +//------------------------------------------------------------------------------ +// Create the tool and automagically (I like this word) insert it in +// the main window menu. +ADD_TOOL(vvToolFooWithWidgetBase); +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +vvToolFooWithWidgetBase::vvToolFooWithWidgetBase(vvMainWindowBase * parent, Qt::WindowFlags f) + :vvToolWidgetBase(parent, f), + vvToolBase(parent), + Ui::vvToolFoo() { + // Setup the UI + Ui_vvToolFoo::setupUi(mToolWidget); +} +//------------------------------------------------------------------------------ + + +//------------------------------------------------------------------------------ +vvToolFooWithWidgetBase::~vvToolFooWithWidgetBase() { +} +//------------------------------------------------------------------------------ + + +//------------------------------------------------------------------------------ +void vvToolFooWithWidgetBase::Initialize() { + SetToolName("Foo"); + SetToolMenuName("Foo with WidgetBase"); + SetToolIconFilename(":/new/prefix1/icons/ducky.png"); + SetToolTip("Make 'foo' on an image."); +} +//------------------------------------------------------------------------------ + + +//------------------------------------------------------------------------------ +void vvToolFooWithWidgetBase::InputIsSelected(vvSlicerManager *m) { + mButton->setText(m->GetFileName().c_str()); +} +//------------------------------------------------------------------------------ + + +//------------------------------------------------------------------------------ +void vvToolFooWithWidgetBase::apply() { + close(); +} +//------------------------------------------------------------------------------ diff --git a/vv/vvToolFooWithWidgetBase.h b/vv/vvToolFooWithWidgetBase.h new file mode 100644 index 0000000..e549e9b --- /dev/null +++ b/vv/vvToolFooWithWidgetBase.h @@ -0,0 +1,62 @@ +/*========================================================================= + + Program: vv + Module: $RCSfile: vvToolFooWithWidgetBase.h,v $ + Language: C++ + Date: $Date: 2010/03/01 08:37:19 $ + Version: $Revision: 1.1 $ + Author : David Sarrut (david.sarrut@creatis.insa-lyon.fr) + + Copyright (C) 2010 + Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + CREATIS http://www.creatis.insa-lyon.fr + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, version 3 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + =========================================================================*/ + +#ifndef VVTOOLFOO_H +#define VVTOOLFOO_H + +#include +#include + +#include "vvToolBase.h" +#include "vvToolWidgetBase.h" +#include "ui_vvToolFoo.h" + +//------------------------------------------------------------------------------ +class vvToolFooWithWidgetBase: + public vvToolWidgetBase, + public vvToolBase, + private Ui::vvToolFoo +{ + Q_OBJECT + public: + vvToolFooWithWidgetBase(vvMainWindowBase* parent=0, Qt::WindowFlags f=0); + ~vvToolFooWithWidgetBase(); + + static void Initialize(); + virtual void InputIsSelected(vvSlicerManager *m); + +public slots: + virtual void apply(); + + protected: + Ui::vvToolFoo ui; + +}; // end class vvToolFooWithWidgetBase +//------------------------------------------------------------------------------ + +#endif + -- 2.49.0