aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:54:15 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:54:15 -0400
commit6d3d39356473078c6b47e03b8a7616e4b34de928 (patch)
treefe5be2e6a08e4cfc73207746aba4c9fccfecfa10 /SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h
parentf98e49169a40876bcf1df832de6e908d1b350193 (diff)
parentfeda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (diff)
Update upstream source from tag 'upstream/3.2.1+dfsg1'
Update to upstream version '3.2.1+dfsg1' with Debian dir 5ea0333565de4dc898c062cc0ff4ba1153e2c1e4
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h
index 04b9af7..55d7f2e 100644
--- a/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h
+++ b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditor.h
@@ -12,6 +12,7 @@ class MultiEditorWidget;
class QLabel;
class MultiEditorWidgetPlugin;
class QToolButton;
+class QMenu;
class GUI_API_EXPORT MultiEditor : public QWidget
{
@@ -31,7 +32,13 @@ class GUI_API_EXPORT MultiEditor : public QWidget
HEX
};
- explicit MultiEditor(QWidget *parent = 0);
+ enum TabsMode {
+ CONFIGURABLE, /**< Tabs are loaded from datatype and also have configure button visible. */
+ PRECONFIGURED, /**< Tabs are loaded from datatype. No config button is present. */
+ DYNAMIC /**< No tabs are loaded, but user has button to add new tabs, can close them and reorder them. */
+ };
+
+ explicit MultiEditor(QWidget *parent = nullptr, TabsMode tabsMode = CONFIGURABLE);
void addEditor(MultiEditorWidget* editorWidget);
void showTab(int idx);
@@ -50,12 +57,16 @@ class GUI_API_EXPORT MultiEditor : public QWidget
static void loadBuiltInEditors();
private:
- void init();
+ void init(TabsMode tabsMode);
void updateVisibility();
void updateNullEffect();
void updateValue(const QVariant& newValue);
+ void setValueToWidget(MultiEditorWidget* editorWidget, const QVariant& newValue);
void updateLabel();
QVariant getValueOmmitNull() const;
+ void initAddTabMenu();
+ void addPluginToMenu(MultiEditorWidgetPlugin* plugin);
+ void sortAddTabMenu();
static QList<MultiEditorWidget*> getEditorTypes(const DataType& dataType);
@@ -74,6 +85,8 @@ class GUI_API_EXPORT MultiEditor : public QWidget
bool valueModified = false;
QVariant valueBeforeNull;
QToolButton* configBtn = nullptr;
+ QToolButton* addTabBtn = nullptr;
+ QMenu* addTabMenu = nullptr;
DataType dataType;
/**
@@ -90,6 +103,7 @@ class GUI_API_EXPORT MultiEditor : public QWidget
void nullStateChanged(int state);
void invalidateValue();
void setModified();
+ void removeTab(int idx);
signals:
void modified();