diff options
author | fluxgen <fluxgen> | 2006-02-19 11:11:22 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2006-02-19 11:11:22 (GMT) |
commit | b772fd969f039f7683d2bd666b7573eeb9d468e3 (patch) | |
tree | 3d1ae639f5f314f9f55005aa3dad912524afa181 /src/Screen.hh | |
parent | d099e7673a51f76b2e6f54484152901288f90ae2 (diff) | |
download | fluxbox_pavel-b772fd969f039f7683d2bd666b7573eeb9d468e3.zip fluxbox_pavel-b772fd969f039f7683d2bd666b7573eeb9d468e3.tar.bz2 |
moved placement strategies to different PlacementStrategy classes
Diffstat (limited to 'src/Screen.hh')
-rw-r--r-- | src/Screen.hh | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/src/Screen.hh b/src/Screen.hh index bb5db3a..4f91d9c 100644 --- a/src/Screen.hh +++ b/src/Screen.hh | |||
@@ -30,6 +30,7 @@ | |||
30 | 30 | ||
31 | #include "FbRootWindow.hh" | 31 | #include "FbRootWindow.hh" |
32 | #include "MenuTheme.hh" | 32 | #include "MenuTheme.hh" |
33 | #include "PlacementStrategy.hh" | ||
33 | 34 | ||
34 | #include "FbTk/Resource.hh" | 35 | #include "FbTk/Resource.hh" |
35 | #include "FbTk/Subject.hh" | 36 | #include "FbTk/Subject.hh" |
@@ -63,6 +64,7 @@ class Strut; | |||
63 | class Slit; | 64 | class Slit; |
64 | class HeadArea; | 65 | class HeadArea; |
65 | class FocusControl; | 66 | class FocusControl; |
67 | class PlacementStrategy; | ||
66 | 68 | ||
67 | namespace FbTk { | 69 | namespace FbTk { |
68 | class Menu; | 70 | class Menu; |
@@ -90,15 +92,6 @@ public: | |||
90 | QUADRANTRESIZE, | 92 | QUADRANTRESIZE, |
91 | DEFAULTRESIZE = BOTTOMRESIZE }; | 93 | DEFAULTRESIZE = BOTTOMRESIZE }; |
92 | 94 | ||
93 | enum PlacementPolicy { | ||
94 | ROWSMARTPLACEMENT, | ||
95 | COLSMARTPLACEMENT, | ||
96 | CASCADEPLACEMENT, | ||
97 | UNDERMOUSEPLACEMENT | ||
98 | }; | ||
99 | |||
100 | enum RowDirection { LEFTRIGHT, RIGHTLEFT}; | ||
101 | enum ColumnDirection { TOPBOTTOM, BOTTOMTOP}; | ||
102 | 95 | ||
103 | typedef std::vector<FluxboxWindow *> Icons; | 96 | typedef std::vector<FluxboxWindow *> Icons; |
104 | 97 | ||
@@ -218,10 +211,7 @@ public: | |||
218 | /// hide all windowmenus except the given one (if given) | 211 | /// hide all windowmenus except the given one (if given) |
219 | void hideWindowMenus(const FluxboxWindow* except= 0); | 212 | void hideWindowMenus(const FluxboxWindow* except= 0); |
220 | 213 | ||
221 | inline PlacementPolicy getPlacementPolicy() const { return *resource.placement_policy; } | ||
222 | inline int getEdgeSnapThreshold() const { return *resource.edge_snap_threshold; } | 214 | inline int getEdgeSnapThreshold() const { return *resource.edge_snap_threshold; } |
223 | inline RowDirection getRowPlacementDirection() const { return *resource.row_direction; } | ||
224 | inline ColumnDirection getColPlacementDirection() const { return *resource.col_direction; } | ||
225 | 215 | ||
226 | void setRootColormapInstalled(bool r) { root_colormap_installed = r; } | 216 | void setRootColormapInstalled(bool r) { root_colormap_installed = r; } |
227 | void saveRootCommand(std::string rootcmd) { *resource.rootcommand = rootcmd; } | 217 | void saveRootCommand(std::string rootcmd) { *resource.rootcommand = rootcmd; } |
@@ -249,7 +239,9 @@ public: | |||
249 | const std::string &altName() const { return m_altname; } | 239 | const std::string &altName() const { return m_altname; } |
250 | bool isShuttingdown() const { return m_shutdown; } | 240 | bool isShuttingdown() const { return m_shutdown; } |
251 | 241 | ||
252 | 242 | PlacementStrategy &placementStrategy() { return *m_placement_strategy; } | |
243 | const PlacementStrategy &placementStrategy() const { return *m_placement_strategy; } | ||
244 | |||
253 | int addWorkspace(); | 245 | int addWorkspace(); |
254 | int removeLastWorkspace(); | 246 | int removeLastWorkspace(); |
255 | // scroll workspaces | 247 | // scroll workspaces |
@@ -442,9 +434,7 @@ private: | |||
442 | FbTk::Resource<int> workspaces, edge_snap_threshold, focused_alpha, | 434 | FbTk::Resource<int> workspaces, edge_snap_threshold, focused_alpha, |
443 | unfocused_alpha, menu_alpha, menu_delay, menu_delay_close; | 435 | unfocused_alpha, menu_alpha, menu_delay, menu_delay_close; |
444 | FbTk::Resource<FbTk::MenuTheme::MenuMode> menu_mode; | 436 | FbTk::Resource<FbTk::MenuTheme::MenuMode> menu_mode; |
445 | FbTk::Resource<PlacementPolicy> placement_policy; | 437 | |
446 | FbTk::Resource<RowDirection> row_direction; | ||
447 | FbTk::Resource<ColumnDirection> col_direction; | ||
448 | FbTk::Resource<int> gc_line_width; | 438 | FbTk::Resource<int> gc_line_width; |
449 | FbTk::Resource<FbTk::GContext::LineStyle> gc_line_style; | 439 | FbTk::Resource<FbTk::GContext::LineStyle> gc_line_style; |
450 | FbTk::Resource<FbTk::GContext::JoinStyle> gc_join_style; | 440 | FbTk::Resource<FbTk::GContext::JoinStyle> gc_join_style; |
@@ -458,6 +448,7 @@ private: | |||
458 | const std::string m_name, m_altname; | 448 | const std::string m_name, m_altname; |
459 | 449 | ||
460 | FocusControl *m_focus_control; | 450 | FocusControl *m_focus_control; |
451 | PlacementStrategy *m_placement_strategy; | ||
461 | 452 | ||
462 | // This is a map of windows to clients for clients that had a left | 453 | // This is a map of windows to clients for clients that had a left |
463 | // window set, but that window wasn't present at the time | 454 | // window set, but that window wasn't present at the time |