summaryrefslogtreecommitdiff
path: root/src/Slit.hh
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-05-26 20:25:38 +0000
committerDana Jansens <danakj@orodu.net>2002-05-26 20:25:38 +0000
commit0305cbdc3ae8525c74b2bb9b23884035549e3407 (patch)
treeb7eafbfbc759adeed8731227bd7f6cedd3f5ed05 /src/Slit.hh
parent60b2990e397faccd6a2f4f1cf7f2285e45fb1876 (diff)
add Configuration class for generic configuration data load/save-ing.
use Configuration class throughout code. no longer save rc file on exit, save when any options are changed.
Diffstat (limited to 'src/Slit.hh')
-rw-r--r--src/Slit.hh25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/Slit.hh b/src/Slit.hh
index c0484c2f..85b49d7d 100644
--- a/src/Slit.hh
+++ b/src/Slit.hh
@@ -30,6 +30,7 @@ extern "C" {
}
#include <list>
+#include <string>
#include "Screen.hh"
#include "Basemenu.hh"
@@ -44,24 +45,30 @@ private:
private:
Directionmenu(const Directionmenu&);
Directionmenu& operator=(const Directionmenu&);
+ Slit *slit;
protected:
virtual void itemSelected(int button, unsigned int index);
-
+ virtual void setValues(void);
+
public:
Directionmenu(Slitmenu *sm);
+ virtual void reconfigure(void);
};
class Placementmenu : public Basemenu {
private:
Placementmenu(const Placementmenu&);
Placementmenu& operator=(const Placementmenu&);
+ Slit *slit;
protected:
virtual void itemSelected(int buton, unsigned int index);
+ virtual void setValues(void);
public:
Placementmenu(Slitmenu *sm);
+ virtual void reconfigure(void);
};
Directionmenu *directionmenu;
@@ -103,10 +110,13 @@ private:
typedef std::list<SlitClient*> SlitClientList;
bool on_top, hidden, do_auto_hide;
+ int direction, placement;
+ std::string slitstr;
Display *display;
Blackbox *blackbox;
BScreen *screen;
+ Configuration *config;
BTimer *timer;
Strut strut;
@@ -137,6 +147,13 @@ public:
inline bool isOnTop(void) const { return on_top; }
inline bool isHidden(void) const { return hidden; }
inline bool doAutoHide(void) const { return do_auto_hide; }
+ inline int getPlacement(void) const { return placement; }
+ inline int getDirection(void) const { return direction; }
+
+ void saveOnTop(bool);
+ void saveAutoHide(bool);
+ void savePlacement(int);
+ void saveDirection(int);
inline Slitmenu *getMenu(void) { return slitmenu; }
@@ -149,13 +166,13 @@ public:
inline unsigned int getWidth(void) const { return frame.rect.width(); }
inline unsigned int getExposedWidth(void) const {
- if (screen->getSlitDirection() == Vertical && do_auto_hide)
+ if (direction == Vertical && do_auto_hide)
return screen->getBevelWidth();
return frame.rect.width();
}
inline unsigned int getHeight(void) const { return frame.rect.height(); }
inline unsigned int getExposedHeight(void) const {
- if (screen->getSlitDirection() == Horizontal && do_auto_hide)
+ if (direction == Horizontal && do_auto_hide)
return screen->getBevelWidth();
return frame.rect.height();
}
@@ -163,6 +180,8 @@ public:
void addClient(Window w);
void removeClient(SlitClient *client, bool remap = True);
void removeClient(Window w, bool remap = True);
+ void load_rc(void);
+ void save_rc(void);
void reconfigure(void);
void updateSlit(void);
void reposition(void);