-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathGuiSplitter.h
40 lines (30 loc) · 1.14 KB
/
GuiSplitter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
* Copyright (C) 2013 Rajendran Thirupugalsamy
* See LICENSE for full copyright and license information.
* See COPYING for distribution information.
*/
#ifndef GUISPLITTER_H
#define GUISPLITTER_H
class GuiBase;
class GuiTerminalWindow;
#include "GuiBase.h"
class GuiSplitter : public QSplitter, public GuiBase {
Q_OBJECT
Q_INTERFACES(GuiBase)
public:
vector<GuiBase *> child;
GuiSplitter(Qt::Orientation split, GuiSplitter *parentsplit = NULL, int ind = -1);
virtual ~GuiSplitter(){};
QWidget *getWidget() { return this; }
void addBaseWidget(int ind, GuiBase *base);
void removeBaseWidget(GuiBase *base);
void createSplitLayout(Qt::Orientation orient, SplitType split, GuiTerminalWindow *oldTerm,
GuiTerminalWindow *newTerm);
void reqCloseTerminal(bool userRequest);
void removeSplitLayout(GuiTerminalWindow *term);
void populateAllTerminals(vector<GuiTerminalWindow *> *list) {
for (auto it = child.begin(); it != child.end(); it++) (*it)->populateAllTerminals(list);
}
GuiTerminalWindow *navigatePane(Qt::Key key, GuiTerminalWindow *tofind, int splitind = -1);
};
#endif // GUISPLITTER_H