diff options
Diffstat (limited to 'src/Slit.cc')
-rw-r--r-- | src/Slit.cc | 263 |
1 files changed, 102 insertions, 161 deletions
diff --git a/src/Slit.cc b/src/Slit.cc index 20b86d6..80dca0d 100644 --- a/src/Slit.cc +++ b/src/Slit.cc | |||
@@ -93,8 +93,7 @@ template<> | |||
93 | void FbTk::Resource<Slit::Placement>::setFromString(const char *strval) { | 93 | void FbTk::Resource<Slit::Placement>::setFromString(const char *strval) { |
94 | if (strcasecmp(strval, "TopLeft")==0) | 94 | if (strcasecmp(strval, "TopLeft")==0) |
95 | m_value = Slit::TOPLEFT; | 95 | m_value = Slit::TOPLEFT; |
96 | else if (strcasecmp(strval, "LeftCenter")==0 | 96 | else if (strcasecmp(strval, "LeftCenter")==0) |
97 | || strcasecmp(strval, "CenterLeft")==0) | ||
98 | m_value = Slit::LEFTCENTER; | 97 | m_value = Slit::LEFTCENTER; |
99 | else if (strcasecmp(strval, "BottomLeft")==0) | 98 | else if (strcasecmp(strval, "BottomLeft")==0) |
100 | m_value = Slit::BOTTOMLEFT; | 99 | m_value = Slit::BOTTOMLEFT; |
@@ -104,21 +103,18 @@ void FbTk::Resource<Slit::Placement>::setFromString(const char *strval) { | |||
104 | m_value = Slit::BOTTOMCENTER; | 103 | m_value = Slit::BOTTOMCENTER; |
105 | else if (strcasecmp(strval, "TopRight")==0) | 104 | else if (strcasecmp(strval, "TopRight")==0) |
106 | m_value = Slit::TOPRIGHT; | 105 | m_value = Slit::TOPRIGHT; |
107 | else if (strcasecmp(strval, "RightCenter")==0 | 106 | else if (strcasecmp(strval, "RightCenter")==0) |
108 | || strcasecmp(strval, "CenterRight")==0) | ||
109 | m_value = Slit::RIGHTCENTER; | 107 | m_value = Slit::RIGHTCENTER; |
110 | else if (strcasecmp(strval, "BottomRight")==0) | 108 | else if (strcasecmp(strval, "BottomRight")==0) |
111 | m_value = Slit::BOTTOMRIGHT; | 109 | m_value = Slit::BOTTOMRIGHT; |
112 | else | 110 | else if (strcasecmp(strval, "LeftTop")==0) |
113 | setDefaultValue(); | 111 | m_value = Slit::LEFTTOP; |
114 | } | 112 | else if (strcasecmp(strval, "LeftBottom")==0) |
115 | 113 | m_value = Slit::LEFTBOTTOM; | |
116 | template<> | 114 | else if (strcasecmp(strval, "RightTop")==0) |
117 | void FbTk::Resource<Slit::Direction>::setFromString(const char *strval) { | 115 | m_value = Slit::RIGHTTOP; |
118 | if (strcasecmp(strval, "Vertical") == 0) | 116 | else if (strcasecmp(strval, "RightBottom")==0) |
119 | m_value = Slit::VERTICAL; | 117 | m_value = Slit::RIGHTBOTTOM; |
120 | else if (strcasecmp(strval, "Horizontal") == 0) | ||
121 | m_value = Slit::HORIZONTAL; | ||
122 | else | 118 | else |
123 | setDefaultValue(); | 119 | setDefaultValue(); |
124 | } | 120 | } |
@@ -150,24 +146,23 @@ string FbTk::Resource<Slit::Placement>::getString() const { | |||
150 | case Slit::BOTTOMRIGHT: | 146 | case Slit::BOTTOMRIGHT: |
151 | return string("BottomRight"); | 147 | return string("BottomRight"); |
152 | break; | 148 | break; |
153 | } | 149 | case Slit::LEFTTOP: |
154 | //default string | 150 | return string("LeftTop"); |
155 | return string("BottomRight"); | ||
156 | } | ||
157 | |||
158 | template<> | ||
159 | string FbTk::Resource<Slit::Direction>::getString() const { | ||
160 | switch (m_value) { | ||
161 | case Slit::VERTICAL: | ||
162 | return string("Vertical"); | ||
163 | break; | 151 | break; |
164 | case Slit::HORIZONTAL: | 152 | case Slit::RIGHTTOP: |
165 | return string("Horizontal"); | 153 | return string("RightTop"); |
154 | break; | ||
155 | case Slit::LEFTBOTTOM: | ||
156 | return string("LeftBottom"); | ||
157 | break; | ||
158 | case Slit::RIGHTBOTTOM: | ||
159 | return string("RightBottom"); | ||
166 | break; | 160 | break; |
167 | } | 161 | } |
168 | // default string | 162 | //default string |
169 | return string("Vertical"); | 163 | return string("RightBottom"); |
170 | } | 164 | } |
165 | |||
171 | } // end namespace FbTk | 166 | } // end namespace FbTk |
172 | namespace { | 167 | namespace { |
173 | 168 | ||
@@ -202,41 +197,6 @@ private: | |||
202 | SlitClient &m_client; | 197 | SlitClient &m_client; |
203 | }; | 198 | }; |
204 | 199 | ||
205 | class SlitDirMenuItem: public FbTk::MenuItem { | ||
206 | public: | ||
207 | SlitDirMenuItem(const FbTk::FbString &label, Slit &slit, FbTk::RefCount<FbTk::Command<void> > &cmd) | ||
208 | :FbTk::MenuItem(label,cmd), | ||
209 | m_slit(slit), | ||
210 | m_label(label) { | ||
211 | setLabel(m_label); // update label | ||
212 | setCloseOnClick(false); | ||
213 | } | ||
214 | |||
215 | void click(int button, int time, unsigned int mods) { | ||
216 | // toggle direction | ||
217 | if (m_slit.direction() == Slit::HORIZONTAL) | ||
218 | m_slit.setDirection(Slit::VERTICAL); | ||
219 | else | ||
220 | m_slit.setDirection(Slit::HORIZONTAL); | ||
221 | setLabel(m_label); | ||
222 | FbTk::MenuItem::click(button, time, mods); | ||
223 | } | ||
224 | |||
225 | void setLabel(const FbTk::FbString &label) { | ||
226 | _FB_USES_NLS; | ||
227 | m_label = (label); | ||
228 | string reallabel = m_label + " " + | ||
229 | ( m_slit.direction() == Slit::HORIZONTAL ? | ||
230 | |||
231 | _FB_XTEXT(Align, Horizontal, "Horizontal", "Horizontal"): | ||
232 | _FB_XTEXT(Align, Vertical, "Vertical", "Vertical")); | ||
233 | FbTk::MenuItem::setLabel(reallabel); | ||
234 | } | ||
235 | private: | ||
236 | Slit &m_slit; | ||
237 | string m_label; | ||
238 | }; | ||
239 | |||
240 | class PlaceSlitMenuItem: public FbTk::RadioMenuItem { | 200 | class PlaceSlitMenuItem: public FbTk::RadioMenuItem { |
241 | public: | 201 | public: |
242 | PlaceSlitMenuItem(const FbTk::FbString &label, Slit &slit, Slit::Placement place, FbTk::RefCount<FbTk::Command<void> > &cmd): | 202 | PlaceSlitMenuItem(const FbTk::FbString &label, Slit &slit, Slit::Placement place, FbTk::RefCount<FbTk::Command<void> > &cmd): |
@@ -290,10 +250,8 @@ Slit::Slit(BScreen &scr, FbTk::XLayer &layer, const char *filename) | |||
290 | // TODO: this resource name must change | 250 | // TODO: this resource name must change |
291 | m_rc_maximize_over(scr.resourceManager(), false, | 251 | m_rc_maximize_over(scr.resourceManager(), false, |
292 | scr.name() + ".slit.maxOver", scr.altName() + ".Slit.MaxOver"), | 252 | scr.name() + ".slit.maxOver", scr.altName() + ".Slit.MaxOver"), |
293 | m_rc_placement(scr.resourceManager(), BOTTOMRIGHT, | 253 | m_rc_placement(scr.resourceManager(), RIGHTBOTTOM, |
294 | scr.name() + ".slit.placement", scr.altName() + ".Slit.Placement"), | 254 | scr.name() + ".slit.placement", scr.altName() + ".Slit.Placement"), |
295 | m_rc_direction(scr.resourceManager(), VERTICAL, | ||
296 | scr.name() + ".slit.direction", scr.altName() + ".Slit.Direction"), | ||
297 | m_rc_alpha(scr.resourceManager(), 255, | 255 | m_rc_alpha(scr.resourceManager(), 255, |
298 | scr.name() + ".slit.alpha", scr.altName() + ".Slit.Alpha"), | 256 | scr.name() + ".slit.alpha", scr.altName() + ".Slit.Alpha"), |
299 | m_rc_on_head(scr.resourceManager(), 0, | 257 | m_rc_on_head(scr.resourceManager(), 0, |
@@ -386,46 +344,40 @@ void Slit::updateStrut() { | |||
386 | int left = 0, right = 0, top = 0, bottom = 0; | 344 | int left = 0, right = 0, top = 0, bottom = 0; |
387 | switch (placement()) { | 345 | switch (placement()) { |
388 | case TOPLEFT: | 346 | case TOPLEFT: |
389 | if (direction() == HORIZONTAL) | 347 | top = height() + 2 * bw; |
390 | top = height() + 2 * bw; | 348 | break; |
391 | else | 349 | case LEFTTOP: |
392 | left = width() + 2 * bw; | 350 | left = width() + 2 * bw; |
393 | break; | 351 | break; |
394 | case TOPCENTER: | 352 | case TOPCENTER: |
395 | if (direction() == HORIZONTAL) | 353 | top = height() + 2 * bw; |
396 | top = height() + 2 * bw; | ||
397 | break; | 354 | break; |
398 | case TOPRIGHT: | 355 | case TOPRIGHT: |
399 | if (direction() == HORIZONTAL) | 356 | top = height() + 2 * bw; |
400 | top = height() + 2 * bw; | 357 | break; |
401 | else | 358 | case RIGHTTOP: |
402 | right = width() + 2 * bw; | 359 | right = width() + 2 * bw; |
403 | break; | 360 | break; |
404 | case BOTTOMLEFT: | 361 | case BOTTOMLEFT: |
405 | if (direction() == HORIZONTAL) | 362 | bottom = height() + 2 * bw; |
406 | bottom = height() + 2 * bw; | 363 | break; |
407 | else | 364 | case LEFTBOTTOM: |
408 | left = width() + 2 * bw; | 365 | left = width() + 2 * bw; |
409 | break; | 366 | break; |
410 | case BOTTOMCENTER: | 367 | case BOTTOMCENTER: |
411 | // would be strange to have it request size on vertical direction | 368 | bottom = height() + 2 * bw; |
412 | // each time we add a client | ||
413 | if (direction() == HORIZONTAL) | ||
414 | bottom = height() + 2 * bw; | ||
415 | break; | 369 | break; |
416 | case BOTTOMRIGHT: | 370 | case BOTTOMRIGHT: |
417 | if (direction() == HORIZONTAL) | 371 | bottom = height() + 2 * bw; |
418 | bottom = height() + 2 * bw; | 372 | break; |
419 | else | 373 | case RIGHTBOTTOM: |
420 | right = width() + 2 * bw; | 374 | right = width() + 2 * bw; |
421 | break; | 375 | break; |
422 | case LEFTCENTER: | 376 | case LEFTCENTER: |
423 | if (direction() == VERTICAL) | 377 | left = width() + 2 * bw; |
424 | left = width() + 2 * bw; | ||
425 | break; | 378 | break; |
426 | case RIGHTCENTER: | 379 | case RIGHTCENTER: |
427 | if (direction() == VERTICAL) | 380 | right = width() + 2 * bw; |
428 | right = width() + 2 * bw; | ||
429 | break; | 381 | break; |
430 | } | 382 | } |
431 | 383 | ||
@@ -551,11 +503,6 @@ void Slit::addClient(Window w) { | |||
551 | 503 | ||
552 | } | 504 | } |
553 | 505 | ||
554 | void Slit::setDirection(Direction dir) { | ||
555 | *m_rc_direction = dir; | ||
556 | reconfigure(); | ||
557 | } | ||
558 | |||
559 | void Slit::setPlacement(Placement place) { | 506 | void Slit::setPlacement(Placement place) { |
560 | *m_rc_placement = place; | 507 | *m_rc_placement = place; |
561 | reconfigure(); | 508 | reconfigure(); |
@@ -636,11 +583,15 @@ void Slit::reconfigure() { | |||
636 | const int bevel_width = theme()->bevelWidth(); | 583 | const int bevel_width = theme()->bevelWidth(); |
637 | // determine width or height increase | 584 | // determine width or height increase |
638 | bool height_inc = false; | 585 | bool height_inc = false; |
639 | switch (direction()) { | 586 | switch (placement()) { |
640 | case VERTICAL: | 587 | case LEFTTOP: |
588 | case RIGHTTOP: | ||
589 | case LEFTCENTER: | ||
590 | case RIGHTCENTER: | ||
591 | case LEFTBOTTOM: | ||
592 | case RIGHTBOTTOM: | ||
641 | height_inc = true; | 593 | height_inc = true; |
642 | break; | 594 | default: |
643 | case HORIZONTAL: // already false | ||
644 | break; | 595 | break; |
645 | } | 596 | } |
646 | 597 | ||
@@ -724,19 +675,10 @@ void Slit::reconfigure() { | |||
724 | show(); | 675 | show(); |
725 | 676 | ||
726 | int x = 0, y = 0; | 677 | int x = 0, y = 0; |
727 | height_inc = false; | 678 | if (height_inc) |
728 | switch (direction()) { | ||
729 | case VERTICAL: | ||
730 | x = 0; | ||
731 | y = bevel_width; | 679 | y = bevel_width; |
732 | height_inc = true; | 680 | else |
733 | break; | ||
734 | |||
735 | case HORIZONTAL: | ||
736 | x = bevel_width; | 681 | x = bevel_width; |
737 | y = 0; | ||
738 | break; | ||
739 | } | ||
740 | 682 | ||
741 | client_it = m_client_list.begin(); | 683 | client_it = m_client_list.begin(); |
742 | for (; client_it != client_it_end; ++client_it) { | 684 | for (; client_it != client_it_end; ++client_it) { |
@@ -826,90 +768,86 @@ void Slit::reposition() { | |||
826 | case TOPLEFT: | 768 | case TOPLEFT: |
827 | frame.x = head_x; | 769 | frame.x = head_x; |
828 | frame.y = head_y; | 770 | frame.y = head_y; |
829 | if (direction() == VERTICAL) { | 771 | frame.x_hidden = head_x; |
830 | frame.x_hidden = bevel_width - | 772 | frame.y_hidden = bevel_width - border_width - frame.height; |
831 | border_width - frame.width; | 773 | break; |
832 | frame.y_hidden = head_y; | 774 | |
833 | } else { | 775 | case LEFTTOP: |
834 | frame.x_hidden = head_x; | 776 | frame.x = head_x; |
835 | frame.y_hidden = bevel_width - | 777 | frame.y = head_y; |
836 | border_width - frame.height; | 778 | frame.x_hidden = bevel_width - border_width - frame.width; |
837 | } | 779 | frame.y_hidden = head_y; |
838 | break; | 780 | break; |
839 | 781 | ||
840 | case LEFTCENTER: | 782 | case LEFTCENTER: |
841 | frame.x = head_x; | 783 | frame.x = head_x; |
842 | frame.y = head_y + (head_h - frame.height) / 2; | 784 | frame.y = head_y + (head_h - frame.height) / 2; |
843 | frame.x_hidden = head_x + bevel_width - | 785 | frame.x_hidden = head_x + bevel_width - border_width - frame.width; |
844 | border_width - frame.width; | ||
845 | frame.y_hidden = frame.y; | 786 | frame.y_hidden = frame.y; |
846 | break; | 787 | break; |
847 | 788 | ||
848 | case BOTTOMLEFT: | 789 | case BOTTOMLEFT: |
849 | frame.x = head_x; | 790 | frame.x = head_x; |
850 | frame.y = head_y + head_h - frame.height - border_width*2; | 791 | frame.y = head_y + head_h - frame.height - border_width*2; |
851 | if (direction() == VERTICAL) { | 792 | frame.x_hidden = head_x; |
852 | frame.x_hidden = head_x + bevel_width - | 793 | frame.y_hidden = head_y + head_h - bevel_width - border_width; |
853 | border_width - frame.width; | 794 | break; |
854 | frame.y_hidden = frame.y; | 795 | |
855 | } else { | 796 | case LEFTBOTTOM: |
856 | frame.x_hidden = head_x; | 797 | frame.x = head_x; |
857 | frame.y_hidden = head_y + head_h - | 798 | frame.y = head_y + head_h - frame.height - border_width*2; |
858 | bevel_width - border_width; | 799 | frame.x_hidden = head_x + bevel_width - border_width - frame.width; |
859 | } | 800 | frame.y_hidden = frame.y; |
860 | break; | 801 | break; |
861 | 802 | ||
862 | case TOPCENTER: | 803 | case TOPCENTER: |
863 | frame.x = head_x + ((head_w - frame.width) / 2); | 804 | frame.x = head_x + ((head_w - frame.width) / 2); |
864 | frame.y = head_y; | 805 | frame.y = head_y; |
865 | frame.x_hidden = frame.x; | 806 | frame.x_hidden = frame.x; |
866 | frame.y_hidden = head_y + bevel_width - | 807 | frame.y_hidden = head_y + bevel_width - border_width - frame.height; |
867 | border_width - frame.height; | ||
868 | break; | 808 | break; |
869 | 809 | ||
870 | case BOTTOMCENTER: | 810 | case BOTTOMCENTER: |
871 | frame.x = head_x + ((head_w - frame.width) / 2); | 811 | frame.x = head_x + ((head_w - frame.width) / 2); |
872 | frame.y = head_y + head_h - frame.height - border_width*2; | 812 | frame.y = head_y + head_h - frame.height - border_width*2; |
873 | frame.x_hidden = frame.x; | 813 | frame.x_hidden = frame.x; |
874 | frame.y_hidden = head_y + head_h - | 814 | frame.y_hidden = head_y + head_h - bevel_width - border_width; |
875 | bevel_width - border_width; | ||
876 | break; | 815 | break; |
877 | 816 | ||
878 | case TOPRIGHT: | 817 | case TOPRIGHT: |
879 | frame.x = head_x + head_w - frame.width - border_width*2; | 818 | frame.x = head_x + head_w - frame.width - border_width*2; |
880 | frame.y = head_y; | 819 | frame.y = head_y; |
881 | if (direction() == VERTICAL) { | 820 | frame.x_hidden = frame.x; |
882 | frame.x_hidden = head_x + head_w - | 821 | frame.y_hidden = head_y + bevel_width - border_width - frame.height; |
883 | bevel_width - border_width; | 822 | break; |
884 | frame.y_hidden = head_y; | 823 | |
885 | } else { | 824 | case RIGHTTOP: |
886 | frame.x_hidden = frame.x; | 825 | frame.x = head_x + head_w - frame.width - border_width*2; |
887 | frame.y_hidden = head_y + bevel_width - | 826 | frame.y = head_y; |
888 | border_width - frame.height; | 827 | frame.x_hidden = head_x + head_w - bevel_width - border_width; |
889 | } | 828 | frame.y_hidden = head_y; |
890 | break; | 829 | break; |
891 | 830 | ||
892 | case RIGHTCENTER: | 831 | case RIGHTCENTER: |
893 | default: | ||
894 | frame.x = head_x + head_w - frame.width - border_width*2; | 832 | frame.x = head_x + head_w - frame.width - border_width*2; |
895 | frame.y = head_y + ((head_h - frame.height) / 2); | 833 | frame.y = head_y + ((head_h - frame.height) / 2); |
896 | frame.x_hidden = head_x + head_w - | 834 | frame.x_hidden = head_x + head_w - bevel_width - border_width; |
897 | bevel_width - border_width; | ||
898 | frame.y_hidden = frame.y; | 835 | frame.y_hidden = frame.y; |
899 | break; | 836 | break; |
900 | 837 | ||
901 | case BOTTOMRIGHT: | 838 | case BOTTOMRIGHT: |
902 | frame.x = head_x + head_w - frame.width - border_width*2; | 839 | frame.x = head_x + head_w - frame.width - border_width*2; |
903 | frame.y = head_y + head_h - frame.height - border_width*2; | 840 | frame.y = head_y + head_h - frame.height - border_width*2; |
904 | if (direction() == VERTICAL) { | 841 | frame.x_hidden = frame.x; |
905 | frame.x_hidden = head_x + head_w - | 842 | frame.y_hidden = head_y + head_h - bevel_width - border_width; |
906 | bevel_width - border_width; | 843 | break; |
907 | frame.y_hidden = frame.y; | 844 | |
908 | } else { | 845 | case RIGHTBOTTOM: |
909 | frame.x_hidden = frame.x; | 846 | default: |
910 | frame.y_hidden = head_y + head_h - | 847 | frame.x = head_x + head_w - frame.width - border_width*2; |
911 | bevel_width - border_width; | 848 | frame.y = head_y + head_h - frame.height - border_width*2; |
912 | } | 849 | frame.x_hidden = head_x + head_w - bevel_width - border_width; |
850 | frame.y_hidden = frame.y; | ||
913 | break; | 851 | break; |
914 | } | 852 | } |
915 | 853 | ||
@@ -1292,9 +1230,6 @@ void Slit::setupMenu() { | |||
1292 | 1230 | ||
1293 | m_slitmenu.insert(alpha_menuitem); | 1231 | m_slitmenu.insert(alpha_menuitem); |
1294 | 1232 | ||
1295 | m_slitmenu.insert(new SlitDirMenuItem(_FB_XTEXT(Slit, Direction, "Slit Direction:", "Orientation of slit"), | ||
1296 | *this, | ||
1297 | save_and_reconfigure)); | ||
1298 | m_slitmenu.insert(_FB_XTEXT(Slit, ClientsMenu, "Clients", "Slit client menu"), &m_clientlist_menu); | 1233 | m_slitmenu.insert(_FB_XTEXT(Slit, ClientsMenu, "Clients", "Slit client menu"), &m_clientlist_menu); |
1299 | m_slitmenu.updateMenu(); | 1234 | m_slitmenu.updateMenu(); |
1300 | 1235 | ||
@@ -1311,18 +1246,24 @@ void Slit::setupMenu() { | |||
1311 | 1246 | ||
1312 | // menu is 3 wide, 5 down | 1247 | // menu is 3 wide, 5 down |
1313 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopLeft, "Top Left", "Top Left"), Slit::TOPLEFT)); | 1248 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopLeft, "Top Left", "Top Left"), Slit::TOPLEFT)); |
1249 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, LeftTop, "Left Top", "Left Top"), Slit::LEFTTOP)); | ||
1314 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, LeftCenter, "Left Center", "Left Center"), Slit::LEFTCENTER)); | 1250 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, LeftCenter, "Left Center", "Left Center"), Slit::LEFTCENTER)); |
1251 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, LeftBottom, "Left Bottom", "Left Bottom"), Slit::LEFTBOTTOM)); | ||
1315 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomLeft, "Bottom Left", "Bottom Left"), Slit::BOTTOMLEFT)); | 1252 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomLeft, "Bottom Left", "Bottom Left"), Slit::BOTTOMLEFT)); |
1316 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopCenter, "Top Center", "Top Center"), Slit::TOPCENTER)); | 1253 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopCenter, "Top Center", "Top Center"), Slit::TOPCENTER)); |
1317 | place_menu.push_back(PlacementP("", Slit::TOPLEFT)); | 1254 | place_menu.push_back(PlacementP("", Slit::TOPLEFT)); |
1255 | place_menu.push_back(PlacementP("", Slit::TOPLEFT)); | ||
1256 | place_menu.push_back(PlacementP("", Slit::TOPLEFT)); | ||
1318 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomCenter, "Bottom Center", "Bottom Center"), Slit::BOTTOMCENTER)); | 1257 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomCenter, "Bottom Center", "Bottom Center"), Slit::BOTTOMCENTER)); |
1319 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopRight, "Top Right", "Top Right"), Slit::TOPRIGHT)); | 1258 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, TopRight, "Top Right", "Top Right"), Slit::TOPRIGHT)); |
1259 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, RightTop, "Right Top", "Right Top"), Slit::RIGHTTOP)); | ||
1320 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, RightCenter, "Right Center", "Right Center"), Slit::RIGHTCENTER)); | 1260 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, RightCenter, "Right Center", "Right Center"), Slit::RIGHTCENTER)); |
1261 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, RightBottom, "Right Bottom", "Right Bottom"), Slit::RIGHTBOTTOM)); | ||
1321 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomRight, "Bottom Right", "Bottom Right"), Slit::BOTTOMRIGHT)); | 1262 | place_menu.push_back(PlacementP(_FB_XTEXT(Align, BottomRight, "Bottom Right", "Bottom Right"), Slit::BOTTOMRIGHT)); |
1322 | 1263 | ||
1323 | 1264 | ||
1324 | // create items in sub menu | 1265 | // create items in sub menu |
1325 | for (size_t i=0; i<9; ++i) { | 1266 | for (size_t i=0; i<15; ++i) { |
1326 | const FbTk::FbString &str = place_menu.front().first; | 1267 | const FbTk::FbString &str = place_menu.front().first; |
1327 | Slit::Placement placement = place_menu.front().second; | 1268 | Slit::Placement placement = place_menu.front().second; |
1328 | 1269 | ||