Differences

This shows you the differences between two versions of the page.

Link to this comparison view

menus [2012/04/09 15:23]
dragan.milicev
menus [2012/07/09 10:44] (current)
srdjan.lukovic [GUI Code]
Line 1: Line 1:
 ====== Menus ====== ====== Menus ======
  
-Menus is a [[SOLoist Sample Applications|SOLoist sample application]] that demonstrates menu components and different menu styles.+**Menus** is a [[SOLoist Sample Applications|SOLoist sample application]] that demonstrates menu components and different menu styles.
  
 ==== Live example ==== ==== Live example ====
Line 44: Line 44:
  public void init() throws InitializerFailedException {  public void init() throws InitializerFailedException {
  GUIApplicationComponent application = new GUIApplicationComponent();  GUIApplicationComponent application = new GUIApplicationComponent();
- application.name.set(Text.fromString("MenusSample"));+ application.setName("MenusSample");
  SoloistServiceServlet.registerApplication(application);  SoloistServiceServlet.registerApplication(application);
  GUIPanelComponent root = GUIPanelComponent.createFlow(application);  GUIPanelComponent root = GUIPanelComponent.createFlow(application);
- +
  GUILabelComponent title = GUILabelComponent.create(root, "Menus");  GUILabelComponent title = GUILabelComponent.create(root, "Menus");
- title.styleName.set(Text.fromString("titleStyle")); + title.setStyle("titleStyle"); 
- +
  GUIPanelComponent menuPanel = GUIPanelComponent.createFlow(root);  GUIPanelComponent menuPanel = GUIPanelComponent.createFlow(root);
  GUIDeckComponent deck = GUIDeckComponent.create(root);  GUIDeckComponent deck = GUIDeckComponent.create(root);
-  + 
- strings = new String[] {"", "A", "A1", "A2", "B", "B1", "B2", "C", "C1", "C2", "D", "D1", "D2", "E", "E1", "E2", "F", "F1", "F2", "G", "G1", "G2", "H"};+ strings = new String[] { "", "A", "A1", "A2", "B", "B1", "B2", "C", "C1", "C2", "D", "D1", "D2", "E", "E1", "E2", "F", "F1", "F2", "G", "G1", "G2", "H" };
  array = new GUIPanelComponent[strings.length];  array = new GUIPanelComponent[strings.length];
  for (int i = 0; i < strings.length; i++) {  for (int i = 0; i < strings.length; i++) {
  array[i] = GUIPanelComponent.createFlow(deck);  array[i] = GUIPanelComponent.createFlow(deck);
- GUILabelComponent.create(array[i], strings[i]).styleName.set(Text.fromString("largeText"));+ GUILabelComponent.create(array[i], strings[i]).setStyle("largeText");
  }  }
- +
  createGWTMenu(menuPanel, true);  createGWTMenu(menuPanel, true);
  createGWTMenu(menuPanel, false);  createGWTMenu(menuPanel, false);
  createDropDownMenu(menuPanel);  createDropDownMenu(menuPanel);
-    }+ }
  /**  /**
  * Custom drop down menu using links, depends highly on CSS   * Custom drop down menu using links, depends highly on CSS 
Line 70: Line 70:
  private void createDropDownMenu(GUIPanelComponent mainPanel) {  private void createDropDownMenu(GUIPanelComponent mainPanel) {
  GUIPanelComponent menu = GUIPanelComponent.createFlow(mainPanel);  GUIPanelComponent menu = GUIPanelComponent.createFlow(mainPanel);
- menu.styleName.set(Text.fromString("#menu"));+ menu.setStyle("#menu");
  
  GUIPanelComponent menuWrapper = GUIPanelComponent.createFlow(menu);  GUIPanelComponent menuWrapper = GUIPanelComponent.createFlow(menu);
- menuWrapper.styleName.set(Text.fromString("#menu_wrapper")); + menuWrapper.setStyle("#menu_wrapper"); 
- +
  GUILinkComponent[] links = new GUILinkComponent[strings.length];  GUILinkComponent[] links = new GUILinkComponent[strings.length];
- +
  for (int i = 0; i < strings.length; i++) {  for (int i = 0; i < strings.length; i++) {
  if (i == 0) {  if (i == 0) {
  links[i] = GUILinkComponent.create(menuWrapper, "Home", "javascript:void");  links[i] = GUILinkComponent.create(menuWrapper, "Home", "javascript:void");
- links[i].styleName.set(Text.fromString("sol-Link-active"));+ links[i].setStyle("sol-Link-active");
  } else if (i == strings.length - 1) {  } else if (i == strings.length - 1) {
  links[i] = GUILinkComponent.create(menuWrapper, "H", "javascript:void");  links[i] = GUILinkComponent.create(menuWrapper, "H", "javascript:void");
- } else if (i % 3 == 1){+ } else if (i % 3 == 1) {
  GUIPanelComponent top = GUIPanelComponent.createFlow(menuWrapper);  GUIPanelComponent top = GUIPanelComponent.createFlow(menuWrapper);
- top.styleName.set(Text.fromString("#topmenu"));+ top.setStyle("#topmenu");
  links[i] = GUILinkComponent.create(top, strings[i], "javascript:void");  links[i] = GUILinkComponent.create(top, strings[i], "javascript:void");
  GUIPanelComponent sub = GUIPanelComponent.createFlow(top);  GUIPanelComponent sub = GUIPanelComponent.createFlow(top);
- sub.styleName.set(Text.fromString("#submenu"));+ sub.setStyle("#submenu");
  links[i + 1] = GUILinkComponent.create(sub, strings[i + 1], "javascript:void");  links[i + 1] = GUILinkComponent.create(sub, strings[i + 1], "javascript:void");
  links[i + 2] = GUILinkComponent.create(sub, strings[i + 2], "javascript:void");  links[i + 2] = GUILinkComponent.create(sub, strings[i + 2], "javascript:void");
  }  }
- GUIComponentBinding.create(links[i].openLink, array[i].show);+ GUIComponentBinding.create(links[i].opOpenLink(), array[i].ipShow());
  }  }
  
Line 99: Line 99:
   
  /**  /**
- * Highlights the selected menu or sub-menu. + * Highlights selected menu or sub-menu. 
  */  */
  private void menuHighlighter(GUIPanelComponent container, GUILinkComponent home, GUILinkComponent... orderedMenuLinks) {  private void menuHighlighter(GUIPanelComponent container, GUILinkComponent home, GUILinkComponent... orderedMenuLinks) {
  GUIBufferComponent[] highlightBuffers = new GUIBufferComponent[orderedMenuLinks.length / 3 + 1];  GUIBufferComponent[] highlightBuffers = new GUIBufferComponent[orderedMenuLinks.length / 3 + 1];
  GUIBufferComponent homeBuffer = GUIBufferComponent.create(container, false, Text.fromString("active"));  GUIBufferComponent homeBuffer = GUIBufferComponent.create(container, false, Text.fromString("active"));
- GUIComponentBinding.create(homeBuffer.output, home.addStyle); // addStyle pin changes CSS class adding "active" + GUIComponentBinding.create(homeBuffer.opOutput(), home.ipAddStyle()); // addStyle pin changes CSS class adding "active" 
- GUIComponentBinding.create(home.openLink, homeBuffer.send);+ GUIComponentBinding.create(home.opOpenLink(), homeBuffer.ipSend());
  for (int i = 0; i < orderedMenuLinks.length; i++) {  for (int i = 0; i < orderedMenuLinks.length; i++) {
  if (i % 3 == 0) {  if (i % 3 == 0) {
  highlightBuffers[i / 3] = GUIBufferComponent.create(container, false, Text.fromString("active"));  highlightBuffers[i / 3] = GUIBufferComponent.create(container, false, Text.fromString("active"));
- GUIComponentBinding.create(highlightBuffers[i / 3].output, orderedMenuLinks[i].addStyle); + GUIComponentBinding.create(highlightBuffers[i / 3].opOutput(), orderedMenuLinks[i].ipAddStyle()); 
- GUIComponentBinding.create(orderedMenuLinks[i].openLink, highlightBuffers[i / 3].send);+ GUIComponentBinding.create(orderedMenuLinks[i].opOpenLink(), highlightBuffers[i / 3].ipSend());
  for (int j = 0; j < orderedMenuLinks.length; j += 3)  for (int j = 0; j < orderedMenuLinks.length; j += 3)
  if (!orderedMenuLinks[j].equals(orderedMenuLinks[i]))  if (!orderedMenuLinks[j].equals(orderedMenuLinks[i]))
- GUIComponentBinding.create(highlightBuffers[i / 3].output, orderedMenuLinks[j].removeStyle); + GUIComponentBinding.create(highlightBuffers[i / 3].opOutput(), orderedMenuLinks[j].ipRemoveStyle()); 
- GUIComponentBinding.create(homeBuffer.output, orderedMenuLinks[i].removeStyle); + GUIComponentBinding.create(homeBuffer.opOutput(), orderedMenuLinks[i].ipRemoveStyle()); 
- GUIComponentBinding.create(highlightBuffers[i / 3].output, home.removeStyle);+ GUIComponentBinding.create(highlightBuffers[i / 3].opOutput(), home.ipRemoveStyle());
  } else {  } else {
- GUIComponentBinding.create(orderedMenuLinks[i].openLink, highlightBuffers[i / 3].send);+ GUIComponentBinding.create(orderedMenuLinks[i].opOpenLink(), highlightBuffers[i / 3].ipSend());
  }  }
  }  }
Line 125: Line 125:
  GUIMenuComponent myMainMenu = GUIMenuComponent.create(mainPanel, isHorizontal);  GUIMenuComponent myMainMenu = GUIMenuComponent.create(mainPanel, isHorizontal);
  GUIMenuItemComponent[] items = new GUIMenuItemComponent[strings.length];  GUIMenuItemComponent[] items = new GUIMenuItemComponent[strings.length];
- +
  for (int i = 0; i < strings.length; i++) {  for (int i = 0; i < strings.length; i++) {
  if (i == 0) {  if (i == 0) {
- items[i] = GUIMenuItemComponent.create(myMainMenu); + items[i] = GUIMenuItemComponent.create(myMainMenu"Home");
-     items[i].text.set(Text.fromString("Home"));+
  } else if (i == strings.length - 1) {  } else if (i == strings.length - 1) {
- items[i] = GUIMenuItemComponent.create(myMainMenu); + items[i] = GUIMenuItemComponent.create(myMainMenustrings[i]); 
-     items[i].text.set(Text.fromString(strings[i])); + } else if (i % 3 == 1) { 
- } else if (i % 3 == 1){ + items[i] = GUIMenuItemComponent.create(myMainMenustrings[i]); 
- items[i] = GUIMenuItemComponent.create(myMainMenu); + GUIMenuComponent subA = GUIMenuComponent.createSubMenu(items[i], !isHorizontal); 
-     items[i].text.set(Text.fromString(strings[i])); + items[i + 1] = GUIMenuItemComponent.create(subAstrings[i + 1]); 
-     GUIMenuComponent subA = GUIMenuComponent.create(items[i], !isHorizontal); + items[i + 2] = GUIMenuItemComponent.create(subAstrings[i + 2]);
-     items[i + 1] = GUIMenuItemComponent.create(subA); +
-     items[i + 1].text.set(Text.fromString(strings[i + 1])); +
-     items[i + 2] = GUIMenuItemComponent.create(subA); +
-     items[i + 2].text.set(Text.fromString(strings[i + 2]));+
  }  }
- GUIComponentBinding.create(items[i].click, array[i].show);+ GUIComponentBinding.create(items[i].opClick(), array[i].ipShow());
  }  }
  }  }
- 
 } }
 </code> </code>
Print/export