VR-Forces 4.0.4 Class Documentation
include/vrvCoreQt/DtSelectInstanceWidget.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtSelectInstanceWidget.h,v $ $Revision: 1.11 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #pragma once
00014 #include <vrvUtil/signalslib.h>
00015 #include <vrvCoreQt/vrvCoreQt.h>
00016 #include <QtGui/QWidget>
00017 
00018 class QComboBox;
00019 class QLabel;
00020 class QPushButton;
00021 class QStringList;
00022 class QFrame;
00023 class QVBoxLayout;
00024 class QHBoxLayout;
00025 class QSpacerItem;
00026 
00027 namespace makVrv
00028 {
00031    class DT_DLL_VRVCOREQT DtSelectInstanceWidget : public QWidget
00032    {
00033    Q_OBJECT;
00034    public:
00036       explicit DtSelectInstanceWidget(DtDe& de, QWidget* parent = 0, Qt::WindowFlags f = 0);
00037 
00039       virtual ~DtSelectInstanceWidget();
00040 
00042       void setSupportsRenaming(bool supportsRenaming);
00043 
00046       void setRenamingEnabled( bool enabled );
00047 
00049       void setSupportsAdding(bool supportsAdding);
00050 
00053       void setAddingEnabled( bool enabled );
00054 
00056       void setSupportsDeleting(bool supportsDeleting);
00057 
00060       void setDeletingEnabled( bool enabled );
00061 
00063       void getInstanceNames(QStringList& list) const;
00064 
00066       virtual int count() const;
00067 
00070       virtual int currentIndex() const;
00071 
00074       virtual QString currentName() const;
00075 
00078       virtual int findInstanceIndex(const QString& instanceName);
00079 
00081       virtual void clearInstances();
00082 
00084       virtual QString instanceName(int) const;
00085 
00086    public slots:
00087 
00089       virtual void setInstanceLabel(const QString& labelText );
00090 
00092       virtual void setInstanceIcon(const QString& instanceName, QIcon& icon, 
00093          bool clearOtherIcons);
00094 
00096       virtual void setInstanceNames(const QStringList& instanceNames);
00097 
00100       virtual void setCurrentIndex(int i);
00101 
00105       virtual void setCurrentInstanceName(const QString& instanceName);
00106 
00111       virtual void addInstance(QString name, int index = -1);
00112 
00113 
00119       virtual void removeInstance(int i);
00120 
00122       virtual void setShowSeparator(bool);
00123 
00124    public:
00125       boost::signal<void (int, const std::string&)> signal_currentInstanceChanged;
00126       boost::signal<void ()> signal_renameInstanceRequested;
00127       boost::signal<void ()> signal_newInstanceRequested;
00128       boost::signal<void ()> signal_deleteInstanceRequested;
00129 
00130    signals:
00131 
00132       void currentIndexChanged(int i);
00133       void instanceNamesChanged();
00134 
00135       void renameInstanceRequested();
00136       void newInstanceRequested();
00137       void deleteInstanceRequested();
00138 
00139    protected slots:
00140 
00141       void on_myNextButton_clicked();
00142       void on_myPreviousButton_clicked();
00143       void on_myRenameInstanceButton_clicked();
00144       void on_myNewInstanceButton_clicked();
00145       void on_myDeleteInstanceButton_clicked();
00146       void on_myInstanceBox_currentIndexChanged(int);
00147 
00148    protected:
00149       void updateButtons();
00150 
00151       void setupGui();
00152 
00153    protected:
00154 
00155       DtDe& myDe;
00156       QVBoxLayout* myMainLayout;
00157       QHBoxLayout* myButtonLayout;
00158       QLabel* myInstanceLabel;
00159       QPushButton* myNextButton;
00160       QPushButton* myPreviousButton;
00161       QComboBox* myInstanceBox;
00162       QPushButton* myRenameInstanceButton;
00163       QPushButton* myNewInstanceButton;
00164       QPushButton* myDeleteInstanceButton;
00165       bool myRenamingEnabled;
00166       bool myAddingEnabled;
00167       bool myDeletingEnabled;
00168       QFrame* mySeparator;
00169 
00170       QSpacerItem* myTopSpacer;
00171       QSpacerItem* myBottomSpacer;
00172       int myBufferSpace;
00173    };
00174 }

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)