diff options
Diffstat (limited to 'src/Slit.cc')
-rw-r--r-- | src/Slit.cc | 73 |
1 files changed, 26 insertions, 47 deletions
diff --git a/src/Slit.cc b/src/Slit.cc index 9fc4ef1..1cf13cf 100644 --- a/src/Slit.cc +++ b/src/Slit.cc | |||
@@ -89,27 +89,6 @@ using std::endl; | |||
89 | using std::hex; | 89 | using std::hex; |
90 | using std::dec; | 90 | using std::dec; |
91 | 91 | ||
92 | namespace FbTk { | ||
93 | |||
94 | template<> | ||
95 | const EnumTraits<Slit::Placement>::Pair EnumTraits<Slit::Placement>::s_map[] = { | ||
96 | { "TopLeft", Slit::TOPLEFT }, | ||
97 | { "LeftCenter", Slit::LEFTCENTER }, | ||
98 | { "BottomLeft", Slit::BOTTOMLEFT }, | ||
99 | { "TopCenter", Slit::TOPCENTER }, | ||
100 | { "BottomCenter", Slit::BOTTOMCENTER }, | ||
101 | { "TopRight", Slit::TOPRIGHT }, | ||
102 | { "RightCenter", Slit::RIGHTCENTER }, | ||
103 | { "BottomRight", Slit::BOTTOMRIGHT }, | ||
104 | { "LeftTop", Slit::LEFTTOP }, | ||
105 | { "RightTop", Slit::RIGHTTOP }, | ||
106 | { "LeftBottom", Slit::LEFTBOTTOM }, | ||
107 | { "RightBottom", Slit::RIGHTBOTTOM }, | ||
108 | { NULL, Slit::RIGHTBOTTOM }, | ||
109 | }; | ||
110 | |||
111 | } // end namespace FbTk | ||
112 | |||
113 | namespace { | 92 | namespace { |
114 | 93 | ||
115 | class SlitClientMenuItem: public FbTk::MenuItem{ | 94 | class SlitClientMenuItem: public FbTk::MenuItem{ |
@@ -145,7 +124,7 @@ private: | |||
145 | 124 | ||
146 | class PlaceSlitMenuItem: public FbTk::RadioMenuItem { | 125 | class PlaceSlitMenuItem: public FbTk::RadioMenuItem { |
147 | public: | 126 | public: |
148 | PlaceSlitMenuItem(const FbTk::FbString &label, Slit &slit, Slit::Placement place, FbTk::RefCount<FbTk::Command<void> > &cmd): | 127 | PlaceSlitMenuItem(const FbTk::FbString &label, Slit &slit, Placement place, FbTk::RefCount<FbTk::Command<void> > &cmd): |
149 | FbTk::RadioMenuItem(label, cmd), m_slit(slit), m_place(place) { | 128 | FbTk::RadioMenuItem(label, cmd), m_slit(slit), m_place(place) { |
150 | setCloseOnClick(false); | 129 | setCloseOnClick(false); |
151 | } | 130 | } |
@@ -156,7 +135,7 @@ public: | |||
156 | } | 135 | } |
157 | private: | 136 | private: |
158 | Slit &m_slit; | 137 | Slit &m_slit; |
159 | Slit::Placement m_place; | 138 | Placement m_place; |
160 | }; | 139 | }; |
161 | 140 | ||
162 | } // End anonymous namespace | 141 | } // End anonymous namespace |
@@ -231,10 +210,10 @@ Slit::Slit(BScreen &scr, FbTk::Layer &layer) | |||
231 | m_screen(scr), | 210 | m_screen(scr), |
232 | m_clientlist_menu(new FbMenu(scr.menuTheme(), | 211 | m_clientlist_menu(new FbMenu(scr.menuTheme(), |
233 | scr.imageControl(), | 212 | scr.imageControl(), |
234 | *scr.layerManager().getLayer(ResourceLayer::MENU)) ), | 213 | *scr.layerManager().getLayer(LAYERMENU)) ), |
235 | m_slitmenu(new FbMenu(scr.menuTheme(), | 214 | m_slitmenu(new FbMenu(scr.menuTheme(), |
236 | scr.imageControl(), | 215 | scr.imageControl(), |
237 | *scr.layerManager().getLayer(ResourceLayer::MENU)) ), | 216 | *scr.layerManager().getLayer(LAYERMENU)) ), |
238 | #ifdef XINERAMA | 217 | #ifdef XINERAMA |
239 | m_xineramaheadmenu(0), | 218 | m_xineramaheadmenu(0), |
240 | #endif // XINERAMA | 219 | #endif // XINERAMA |
@@ -258,7 +237,7 @@ Slit::Slit(BScreen &scr, FbTk::Layer &layer) | |||
258 | m_rc_placement(scr.resourceManager(), RIGHTBOTTOM, scr.name() + ".slit.placement"), | 237 | m_rc_placement(scr.resourceManager(), RIGHTBOTTOM, scr.name() + ".slit.placement"), |
259 | m_rc_alpha(scr.resourceManager(), 255, scr.name() + ".slit.alpha"), | 238 | m_rc_alpha(scr.resourceManager(), 255, scr.name() + ".slit.alpha"), |
260 | m_rc_on_head(scr.resourceManager(), 0, scr.name() + ".slit.onhead"), | 239 | m_rc_on_head(scr.resourceManager(), 0, scr.name() + ".slit.onhead"), |
261 | m_rc_layernum(scr.resourceManager(), ResourceLayer::DOCK, scr.name() + ".slit.layer") { | 240 | m_rc_layernum(scr.resourceManager(), LAYERDOCK, scr.name() + ".slit.layer") { |
262 | 241 | ||
263 | _FB_USES_NLS; | 242 | _FB_USES_NLS; |
264 | 243 | ||
@@ -298,7 +277,7 @@ Slit::Slit(BScreen &scr, FbTk::Layer &layer) | |||
298 | m_layermenu.reset(new LayerMenu(scr.menuTheme(), | 277 | m_layermenu.reset(new LayerMenu(scr.menuTheme(), |
299 | scr.imageControl(), | 278 | scr.imageControl(), |
300 | *scr.layerManager(). | 279 | *scr.layerManager(). |
301 | getLayer(ResourceLayer::MENU), | 280 | getLayer(LAYERMENU), |
302 | this, | 281 | this, |
303 | true)); | 282 | true)); |
304 | m_layermenu->setLabel(_FB_XTEXT(Slit, Layer, "Slit Layer", "Title of Slit Layer Menu")); | 283 | m_layermenu->setLabel(_FB_XTEXT(Slit, Layer, "Slit Layer", "Title of Slit Layer Menu")); |
@@ -1114,7 +1093,7 @@ void Slit::setupMenu() { | |||
1114 | 1093 | ||
1115 | FbTk::RefCount<FbTk::Menu> placement_menu( new FbMenu(m_screen.menuTheme(), | 1094 | FbTk::RefCount<FbTk::Menu> placement_menu( new FbMenu(m_screen.menuTheme(), |
1116 | m_screen.imageControl(), | 1095 | m_screen.imageControl(), |
1117 | *m_screen.layerManager().getLayer(::ResourceLayer::MENU)) ); | 1096 | *m_screen.layerManager().getLayer(LAYERMENU)) ); |
1118 | 1097 | ||
1119 | 1098 | ||
1120 | // setup base menu | 1099 | // setup base menu |
@@ -1129,7 +1108,7 @@ void Slit::setupMenu() { | |||
1129 | if (screen().hasXinerama()) { | 1108 | if (screen().hasXinerama()) { |
1130 | m_xineramaheadmenu.reset( new XineramaHeadMenu<Slit>( | 1109 | m_xineramaheadmenu.reset( new XineramaHeadMenu<Slit>( |
1131 | screen().menuTheme(), screen(), screen().imageControl(), | 1110 | screen().menuTheme(), screen(), screen().imageControl(), |
1132 | *screen().layerManager().getLayer(::ResourceLayer::MENU), *this, | 1111 | *screen().layerManager().getLayer(LAYERMENU), *this, |
1133 | _FB_XTEXT(Slit, OnHead, "Slit on Head", "Title of Slits On Head menu")) ); | 1112 | _FB_XTEXT(Slit, OnHead, "Slit on Head", "Title of Slits On Head menu")) ); |
1134 | m_slitmenu->insert(_FB_XTEXT(Menu, OnHead, "On Head...", "Title of On Head menu"), | 1113 | m_slitmenu->insert(_FB_XTEXT(Menu, OnHead, "On Head...", "Title of On Head menu"), |
1135 | FbTk::RefCount<FbTk::Menu>(m_xineramaheadmenu)); | 1114 | FbTk::RefCount<FbTk::Menu>(m_xineramaheadmenu)); |
@@ -1167,32 +1146,32 @@ void Slit::setupMenu() { | |||
1167 | placement_menu->setLabel(_FB_XTEXT(Slit, Placement, "Slit Placement", "Slit Placement")); | 1146 | placement_menu->setLabel(_FB_XTEXT(Slit, Placement, "Slit Placement", "Slit Placement")); |
1168 | placement_menu->setMinimumColumns(3); | 1147 | placement_menu->setMinimumColumns(3); |
1169 | 1148 | ||
1170 | typedef pair<FbTk::FbString, Slit::Placement> PlacementP; | 1149 | typedef pair<FbTk::FbString, Placement> PlacementP; |
1171 | typedef list<PlacementP> Placements; | 1150 | typedef list<PlacementP> Placements; |
1172 | Placements place_menu; | 1151 | Placements place_menu; |
1173 | 1152 | ||
1174 | // menu is 3 wide, 5 down | 1153 | // menu is 3 wide, 5 down |
1175 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopLeft, "Top Left", "Top Left"), Slit::TOPLEFT)); | 1154 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopLeft, "Top Left", "Top Left"), TOPLEFT)); |
1176 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, LeftTop, "Left Top", "Left Top"), Slit::LEFTTOP)); | 1155 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, LeftTop, "Left Top", "Left Top"), LEFTTOP)); |
1177 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, LeftCenter, "Left Center", "Left Center"), Slit::LEFTCENTER)); | 1156 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, LeftCenter, "Left Center", "Left Center"), LEFTCENTER)); |
1178 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, LeftBottom, "Left Bottom", "Left Bottom"), Slit::LEFTBOTTOM)); | 1157 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, LeftBottom, "Left Bottom", "Left Bottom"), LEFTBOTTOM)); |
1179 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomLeft, "Bottom Left", "Bottom Left"), Slit::BOTTOMLEFT)); | 1158 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomLeft, "Bottom Left", "Bottom Left"), BOTTOMLEFT)); |
1180 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopCenter, "Top Center", "Top Center"), Slit::TOPCENTER)); | 1159 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopCenter, "Top Center", "Top Center"), TOPCENTER)); |
1181 | place_menu.push_back(PlacementP("", Slit::TOPLEFT)); | 1160 | place_menu.push_back(PlacementP("", TOPLEFT)); |
1182 | place_menu.push_back(PlacementP("", Slit::TOPLEFT)); | 1161 | place_menu.push_back(PlacementP("", TOPLEFT)); |
1183 | place_menu.push_back(PlacementP("", Slit::TOPLEFT)); | 1162 | place_menu.push_back(PlacementP("", TOPLEFT)); |
1184 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomCenter, "Bottom Center", "Bottom Center"), Slit::BOTTOMCENTER)); | 1163 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomCenter, "Bottom Center", "Bottom Center"), BOTTOMCENTER)); |
1185 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopRight, "Top Right", "Top Right"), Slit::TOPRIGHT)); | 1164 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopRight, "Top Right", "Top Right"), TOPRIGHT)); |
1186 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, RightTop, "Right Top", "Right Top"), Slit::RIGHTTOP)); | 1165 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, RightTop, "Right Top", "Right Top"), RIGHTTOP)); |
1187 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, RightCenter, "Right Center", "Right Center"), Slit::RIGHTCENTER)); | 1166 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, RightCenter, "Right Center", "Right Center"), RIGHTCENTER)); |
1188 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, RightBottom, "Right Bottom", "Right Bottom"), Slit::RIGHTBOTTOM)); | 1167 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, RightBottom, "Right Bottom", "Right Bottom"), RIGHTBOTTOM)); |
1189 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomRight, "Bottom Right", "Bottom Right"), Slit::BOTTOMRIGHT)); | 1168 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomRight, "Bottom Right", "Bottom Right"), BOTTOMRIGHT)); |
1190 | 1169 | ||
1191 | 1170 | ||
1192 | // create items in sub menu | 1171 | // create items in sub menu |
1193 | for (size_t i=0; i<15; ++i) { | 1172 | for (size_t i=0; i<15; ++i) { |
1194 | const FbTk::FbString &str = place_menu.front().first; | 1173 | const FbTk::FbString &str = place_menu.front().first; |
1195 | Slit::Placement placement = place_menu.front().second; | 1174 | Placement placement = place_menu.front().second; |
1196 | 1175 | ||
1197 | if (str == "") { | 1176 | if (str == "") { |
1198 | placement_menu->insert(""); | 1177 | placement_menu->insert(""); |
@@ -1212,7 +1191,7 @@ void Slit::setupMenu() { | |||
1212 | 1191 | ||
1213 | void Slit::moveToLayer(int layernum) { | 1192 | void Slit::moveToLayer(int layernum) { |
1214 | m_layeritem->moveToLayer(layernum); | 1193 | m_layeritem->moveToLayer(layernum); |
1215 | *m_rc_layernum = static_cast<ResourceLayer::Type>(layernum); | 1194 | *m_rc_layernum = static_cast<LayerType>(layernum); |
1216 | } | 1195 | } |
1217 | 1196 | ||
1218 | void Slit::saveOnHead(int head) { | 1197 | void Slit::saveOnHead(int head) { |