From 30d89e9529d4b00e5d4c6293f7303878e49b9594 Mon Sep 17 00:00:00 2001 From: Lorenzo Tilve Date: Fri, 25 Sep 2009 17:34:05 +0200 Subject: [PATCH] ItEr27S09CUCreacionProxectoPlanificacionItEr26S10: Disabled menuitems styling --- .../web/common/CustomMenuController.java | 57 ++++++++++-------- .../main/webapp/common/css/navalpro_v01.css | 44 ++++++++++++++ .../src/main/webapp/common/img/pest_sub1.gif | Bin 0 -> 51 bytes .../webapp/common/img/pestana_desactivada.gif | Bin 0 -> 1540 bytes .../main/webapp/common/layout/_customMenu.zul | 17 ++++-- 5 files changed, 88 insertions(+), 30 deletions(-) create mode 100644 navalplanner-webapp/src/main/webapp/common/img/pest_sub1.gif create mode 100644 navalplanner-webapp/src/main/webapp/common/img/pestana_desactivada.gif diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/CustomMenuController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/CustomMenuController.java index 3620ca964..092887224 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/CustomMenuController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/CustomMenuController.java @@ -32,6 +32,7 @@ public class CustomMenuController extends Div implements IMenuItemsRegister { private final String unencodedURL; private final List children; private boolean activeParent; + private boolean disabled; public String getName() { return name; @@ -49,12 +50,18 @@ public class CustomMenuController extends Div implements IMenuItemsRegister { this(name, url, new ArrayList()); } + public CustomMenuItem(String name, String url, boolean disabled) { + this(name, url, new ArrayList()); + this.disabled = disabled; + } + public CustomMenuItem(String name, String url, List children) { this.name = name; this.encodedURL = Executions.getCurrent().encodeURL(url); this.unencodedURL = url; this.children = children; + this.disabled = false; } public void appendChildren(CustomMenuItem newChildren) { @@ -65,6 +72,10 @@ public class CustomMenuController extends Div implements IMenuItemsRegister { return activeParent; } + public boolean isDisabled() { + return disabled; + } + public boolean contains(String requestPath) { for (CustomMenuItem item : thisAndChildren()) { if (requestContains(requestPath, item.unencodedURL)) @@ -114,7 +125,12 @@ public class CustomMenuController extends Div implements IMenuItemsRegister { private CustomMenuController topItem(String name, String url, CustomMenuItem... items) { - CustomMenuItem parent = new CustomMenuItem(name, url); + return topItem(name, url, false, items); + } + + private CustomMenuController topItem(String name, String url, + boolean disabled, CustomMenuItem... items) { + CustomMenuItem parent = new CustomMenuItem(name, url, disabled); this.firstLevel.add(parent); for (CustomMenuItem child : items) { parent.appendChildren(child); @@ -122,31 +138,25 @@ public class CustomMenuController extends Div implements IMenuItemsRegister { return this; } + private CustomMenuItem subItem(String name, String url, boolean disabled) { + return new CustomMenuItem(name, url, disabled); + } + private CustomMenuItem subItem(String name, String url) { return new CustomMenuItem(name, url); } public void initializeMenu() { - topItem( - _("Planification"), - "/planner/main.zul"); + topItem(_("Planification"),"/planner/main.zul"); topItem(_("Resources"), "/resources/worker/worker.zul", - subItem( - _("Workers List"), - "/resources/worker/worker.zul#list"), - subItem( - _("Manage criterions"), - "/resources/criterions/criterions.zul")); + subItem(_("Workers List"),"/resources/worker/worker.zul#list"), + subItem(_("Manage criterions"),"/resources/criterions/criterions.zul")); - topItem(_("Orders"), - "/orders/orders.zul", - subItem(_("Orders list"), - "/orders/orders.zul"), - subItem(_("Work activities types"), - "/orders/orders.zul"), - subItem(_("Models"), - "/orders/orders.zul")); + topItem(_("Orders"), "/orders/orders.zul", + subItem(_("Orders list"),"/orders/orders.zul"), + subItem(_("Work activities types"),"/orders/orders.zul", true), + subItem(_("Models"),"/orders/orders.zul", true)); topItem(_("Work reports"), "/workreports/workReportTypes.zul", subItem( _("Work report types"), "/workreports/workReportTypes.zul"), @@ -157,13 +167,10 @@ public class CustomMenuController extends Div implements IMenuItemsRegister { "/advance/advanceTypes.zul", subItem(_("Manage advances types"), "/advance/advanceTypes.zul"), - subItem(_("Calendars"), - "/calendars/calendars.zul"), - subItem(_("Label types"), - "/labels/labelTypes.zul")); + subItem(_("Calendars"), "/calendars/calendars.zul"), + subItem(_("Label types"), "/labels/labelTypes.zul")); - topItem(_("Quality management"), - "/"); + topItem(_("Quality management"), "/", true); } private Hbox getRegisteredItemsInsertionPoint() { @@ -236,4 +243,4 @@ public class CustomMenuController extends Div implements IMenuItemsRegister { return Executions.getCurrent().getContextPath(); } -} +} \ No newline at end of file diff --git a/navalplanner-webapp/src/main/webapp/common/css/navalpro_v01.css b/navalplanner-webapp/src/main/webapp/common/css/navalpro_v01.css index 9b1ee2620..b53639acc 100644 --- a/navalplanner-webapp/src/main/webapp/common/css/navalpro_v01.css +++ b/navalplanner-webapp/src/main/webapp/common/css/navalpro_v01.css @@ -23,6 +23,21 @@ a.menuup:hover { background-image: url(../img/pestana_sobre.gif); } +.menuup_desactivado { + font-family: Tahoma, Arial, Helvetica, sans-serif; + text-decoration: none; + font-size: 11px; + color: #77B6D0; + display: block; + padding-top: 10px; + padding-left: 6px; + width: 125px; + background-repeat: no-repeat; + background-position: -4px 4px; + padding-bottom: 5px; + background-image: url(../img/pestana_desactivada.gif); +} + .sub_menu { font-family: Tahoma, Arial, Helvetica, sans-serif, Tahoma; font-size: 11px; @@ -37,6 +52,35 @@ a.sub_menu:hover { color: #FFFFFF; text-decoration: underline; } + +.sub_menu_activo { + font-family: Tahoma, Arial, Helvetica, sans-serif, Tahoma; + font-size: 11px; + color: #2A83B4; + background-color: #CBDBEB; + text-decoration: none; + display: block; + line-height: 16px; + padding-right: 3px; + padding-left: 3px; + text-decoration: none; + background-image: url(../img/pest_sub1.gif); + background-repeat: no-repeat; + background-position: right top; +} + +.sub_menu_desactivado { + font-family: Tahoma, Arial, Helvetica, sans-serif, Tahoma; + font-size: 11px; + color: #ABB8CD; + text-decoration: none; + display: block; + line-height: 22px; + padding-right: 3px; + padding-left: 3px; + font-style: italic; +} + .menuup_activa { font-family: Tahoma, Arial, Helvetica, sans-serif; text-decoration: none; diff --git a/navalplanner-webapp/src/main/webapp/common/img/pest_sub1.gif b/navalplanner-webapp/src/main/webapp/common/img/pest_sub1.gif new file mode 100644 index 0000000000000000000000000000000000000000..034783d74bc3b1e2e0549db6cf22cf8618303e01 GIT binary patch literal 51 zcmZ?wbhEHbF literal 0 HcmV?d00001 diff --git a/navalplanner-webapp/src/main/webapp/common/img/pestana_desactivada.gif b/navalplanner-webapp/src/main/webapp/common/img/pestana_desactivada.gif new file mode 100644 index 0000000000000000000000000000000000000000..40ae77c05165e4337b68b2eeb3890856382e16b7 GIT binary patch literal 1540 zcmV+f2K)I(Nk%w1VVVFV0M$GI`uqLx_4)1c_wV%h>+<*O@%Qlb`SJGp_xb$!`~2*`|J&*E)8p>s?eymE_51z(>G1aA?DXO5^X2XI z=kNCT`~21A@96LL{{H^`{r=tR^4I0>>GAg5>GI?3^ylyO)a38$_4(Q6@Z9L}(&Fy* z`TP0%{rdd<@%8!l`uy|v`uO_%_4xbr_xkqv`}_R;>hbsT_WJJh`0Voc|Ns9000000 z00000A^8LW002AyEC2ui0Ga?J000L6K;8osy1ZPmn61TZI-k&}bV{vSuTq;W*#X=l z4atK?E}PHjbXwAgyiy*PTuzzW@Ao?1uHXCrfGmB1gMcU_Dk3p1FJNM7kdbLbH!dD4 zG&h=?oSmMZprN9pq@|`fB{m(6VPlf7Y7cEMF)W#;xVgH!yq`D|HZ!b`u*GGv5dbk1 zFU`))H_y`3&(SZ|)Y;nA)X~`A+s@d~)6u`d!>-1#vKKBkECBNJ^!4`l`1$(#{Qds* z=Y%;@w=Pn5 zf|e~^zMMhxrOTKxZQ8_{lV#8UoiuC8WI2@RP@X!C7A+cd1_@vSTbYC;t5V9QShH%~ z%C)Q4uVBN5#Q?SBR5Vpxw4jirt=qS7g(3 zA70ED@!%wlBQt(XSg~Qsju9s=%(*h*%a#`_4jp4}RAPRGG_cA-i|g00W6PdRySDAy zxO3nBP_}Psz!Ypaa3EaxaM#0$D_?H>cpj~<>k zU#Wfp+oHj~z5Dm@XG zV0#ia_~3*IVu&Gt6AsA#A%zfr_~Cx%p;nN3HKeGbiV&>m;)^iGDC3MWwm74WEYhfB zjy2c_!3q4CXbg%q$WUa8G8pM%l1Qp(q>@D{$z+sFO4;O*P#$^ZiceD6WS3J$Ddv(~ zW(g*eNm>vjLB*(-0+o^PsIBAc(Mm&2fh7Ha6Bh$gD&qKr1` z=%bJl>gQ>I8nl{PEJUj5rkr-_siTvc#m=QE9dJMnrlx8ts;8nl=&7l`3ahHHx*991 ztgecyt*iEGE3UKx>#M4{5*n?YGu8 z`{$@uQ4qkn=)!>i?z-%@D{Z^$s>`mt@YZWDyz~a}?!EK!Yj3{dQW_|<3>aWA0|*;z zK*9(YtgyoiI}Gu`3sXGt!39qYamEreT(QLphx~BI7l*tt#v*_0aRts=%Gv+}FaYz+ zG0P0I%?Q)1v(7TxymQPv|9tb!J^$RZ&qgN=bkH;BoHNrvvpg z?e*7Shb{KlUP~=-ELD@O_S$T>?KazHi~1L-6kNT)-FI7^x84h2jW^$Y=>86vOy6C2-t~%+b zqmKIOt=I1VdhM{|&bsQmpT0Zmz{Ae_=&|?i`|q>s9=rl3v}}fY0_-6D^wdYcgZ0>3 zUp@8QcRxMp-h&Um^wF39{rTRbPrmlyr|&-d-DluD8R~Jb{rLBjuYUH|>kmKr?7QFp z)JMSg^>2IQbKm~1XFl}FZ))^|*7OKKfC*NRf)%751t-Ws4R$Ys+}ofBJLtX(N)Lo1 zRNxL!sKN}2FooQE;Mr8engU?3064@U1#PH98xnwrJpADgfp|k822qGZOkxg~7(^cu z5s5@Jq7E^b#2qeCh(4s^6Q?M}8~#uOEmIE;#z@98jg#AO}gvLK^arh)m-jPs4*C0029gt7(b= literal 0 HcmV?d00001 diff --git a/navalplanner-webapp/src/main/webapp/common/layout/_customMenu.zul b/navalplanner-webapp/src/main/webapp/common/layout/_customMenu.zul index 7d122c3d4..af1b50c8e 100644 --- a/navalplanner-webapp/src/main/webapp/common/layout/_customMenu.zul +++ b/navalplanner-webapp/src/main/webapp/common/layout/_customMenu.zul @@ -3,8 +3,11 @@ - ${i18n:_(each.name)} + + ${i18n:_(each.name)} + ${i18n:_(each.name)} + @@ -15,8 +18,12 @@ - - ${i18n:_(each.name)} + + ${i18n:_(each.name)} + ${i18n:_(each.name)} @@ -26,4 +33,4 @@ - + \ No newline at end of file