VR-Forces 4.0.4 Class Documentation
include/vrvCoreQt/DtInstanceEditorWidget.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtInstanceEditorWidget.h,v $ $Revision: 1.14 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #ifndef DtInstanceEditorWidget_H_
00014 #define DtInstanceEditorWidget_H_
00015 
00016 #include <vrvCoreQt/vrvCoreQt.h>
00017 #include <QtGui/QWidget>
00018 #include <vrvCoreQt/DtInstanceEditorInterface.h>
00019 
00020 class QActionGroup;
00021 class QHBoxLayout;
00022 class QMenu;
00023 class QPushButton;
00024 class QTreeWidget;
00025 class QTreeWidgetItem;
00026 class QToolBox;
00027 class QLabel;
00028 class QTextEdit;
00029 class QComboBox;
00030 class QHBoxLayout;
00031 
00032 namespace makVrv
00033 {
00034    class DtContextTreeWidget;
00035 
00038    class DT_DLL_VRVCOREQT DtInstanceEditorWidget : public QWidget,
00039       public DtInstanceEditorInterface
00040    {
00041    Q_OBJECT
00042    public:
00043       DtInstanceEditorWidget(DtDe& de, const QString& widgetEditorType, QWidget* parent = 0, Qt::WindowFlags flags = 0);
00044 
00045       virtual ~DtInstanceEditorWidget();
00046 
00048       virtual void setInstanceTypeName(const std::string& name );
00049 
00051       virtual void addInstance(const std::string& name);
00052 
00054       virtual void deleteInstance(const std::string& name);
00055 
00058       virtual void setInstanceFlags(const std::string& name, bool isSaved, bool isOk, bool isEnabled);
00059 
00061       virtual void clearInstances();
00062 
00064       virtual void selectInstance(const std::string& name);
00065 
00067       virtual void clearFilters();
00068 
00070       virtual void selectFilter(const std::string& name);
00071 
00074       virtual void addFilterItem(const std::string&, int);
00075 
00079       virtual void setEnableFilterEditor(bool filters);
00080 
00082       virtual void setInstancesCopyable(bool copyable);
00083 
00085       virtual void setInstancesEditable(bool editable);
00086 
00088       virtual void setInstancesRenamable(bool renamable);
00089 
00091       virtual void setInstancesRemovable(bool removable);
00092 
00094       virtual void setFilters(const std::vector<std::pair<std::string,bool> >& filters);
00095 
00097       virtual void setFilterToolTip(const std::string& text);
00098 
00100       virtual QPushButton* addButton();
00101 
00103       virtual void setDeleteButtonText(QString text);
00104 
00106       virtual void setCopyButtonText(QString text);
00107 
00109       virtual void setEditButtonText(QString text);
00110 
00112       virtual void setRenameButtonText(QString text);
00113 
00115       virtual void sortInstances();
00116 
00119       virtual void setupInvalidInstances();
00120 
00122       virtual void renameInstance(const std::string& oldName, const std::string& newName, int selectedInstanceIndex);
00123 
00125       virtual void setDeleteButtonEnabled(bool);
00126 
00128       virtual void setDeleteButtonToolTip(const QString&);
00129 
00130    protected slots:
00131 
00132       virtual void on_myTreeWidget_itemSelectionChanged();
00133       virtual void on_myAddButton_clicked();
00134       
00135       virtual void on_myDeleteButton_clicked();
00136       virtual void on_myCopyButton_clicked();
00137       virtual void on_myEditButton_clicked();
00138       virtual void on_myRenameButton_clicked();
00139       virtual void on_myFilterGroup_triggered(const QString&);
00140       virtual void on_myFilterActionGroup_triggered(QAction*);
00141 
00142       //{
00143       //Internal functions used to activate editors
00144       void on_myTreeWidget_itemClicked(QTreeWidgetItem * item, int column);
00145       void on_myTreeWidget_itemActivated(QTreeWidgetItem * item, int column);
00146       void on_myTreeWidget_itemDoubleClicked(QTreeWidgetItem * item, int column);
00147       //}
00148 
00149       
00150       virtual std::string selectedInstance() const;
00151       virtual std::string selectedInstanceCategory() const;
00152       virtual int selectedInstanceCategoryIndex() const;
00153 
00154    protected:
00155 
00156       QString askForNewInstanceName(QString initial, const QString& title);
00157 
00158       void setupGui();
00159 
00160    protected:
00161 
00162       DtDe& myDe;
00163 
00164       bool myInstancesCopyable;
00165       bool myInstancesEditable;
00166       bool myInstancesRenamable;
00167       bool myInstancesRemovable;
00168 
00169       QLabel*        myTitle;
00170       QHBoxLayout*   myButtonLayout;
00171       QPushButton*   myAddButton;
00172       QPushButton*   myDeleteButton;
00173       QPushButton*   myCopyButton;
00174       QPushButton*   myEditButton;
00175       QPushButton*   myRenameButton;
00176 
00177       QPushButton*   myFilterButton;
00178       QActionGroup*  myFilterActionGroup;
00179 
00180       QTextEdit*     myErrorMessages;
00181 
00182 
00183       DtContextTreeWidget*   myTreeWidget;
00184       QString        myInstanceTypeLabel;
00185 
00186       QString        myWidgetEditorType;
00187    };
00188 }
00189 
00190 #endif
00191 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)