Ignore:
Timestamp:
2010-06-18T16:08:27+12:00 (14 years ago)
Author:
sjm84
Message:

Added several improvements to the code such as the ability to remove places if they from the text and map if they should not be places

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gs3-extensions/atlas-src/trunk/src/org/greenstone/client/Menu.java

    r22272 r22277  
    1313public class Menu
    1414{
     15    protected Element _parent = null;
    1516    protected ArrayList<Menu> _childMenus = new ArrayList<Menu>();
    1617    protected ArrayList<MenuItem> _menuItems = new ArrayList<MenuItem>();
     
    2122    public Menu(Element parent, MouseOverHandler onMouseOver, MouseOutHandler onMouseOut)
    2223    {
     24        _parent = parent;
    2325        parent.appendChild(_menuDiv.getElement());
    2426        _menuDiv.getElement().getStyle().setProperty("background", "#FFFFFF");
     
    3234    public void addMenuItems(ArrayList<MenuItem> menuItems)
    3335    {
     36        _menuItems = menuItems;
    3437        int maxWidth = -1;
    3538        for(int i = 0; i < menuItems.size(); i++)
    3639        {
     40            if(!menuItems.get(i).condition())
     41            {
     42                continue;
     43            }
    3744            Element item = menuItems.get(i).getMenuElement();
    3845            item.getStyle().setProperty("background", "#FFFFFF");
     
    6976        {
    7077            public void run()
    71             {
    72                 //GS3MapLibrary.logToConsole("Menu height = " + _menuDiv.getOffsetHeight() + ", Div height = " + GS3MapLibrary.getElementById("GSContent").getOffsetHeight() + ", Top = " + GS3MapLibrary.getElementById("GSContent").getAbsoluteTop());
    73                
     78            {               
    7479                if (_menuDiv.getOffsetHeight() > GS3MapLibrary.getElementById("GSContent").getOffsetHeight())
    7580                {
     
    8085                else if(y + _menuDiv.getOffsetHeight() > GS3MapLibrary.getElementById("GSFooter").getAbsoluteTop())
    8186                {
    82                     //GS3MapLibrary.logToConsole("TRUE, " + (y + _menuDiv.getOffsetHeight()) + " is greater than " + GS3MapLibrary.getElementById("GSFooter").getAbsoluteTop());
    8387                    _menuDiv.getElement().getStyle().setProperty("top", (y - ( y + _menuDiv.getOffsetHeight() - GS3MapLibrary.getElementById("GSFooter").getAbsoluteTop()) + "px"));
    84                 }
    85                 else
    86                 {
    87                     //GS3MapLibrary.logToConsole("FALSE, " + (y + _menuDiv.getOffsetHeight()) + " is less than " + GS3MapLibrary.getElementById("GSFooter").getAbsoluteTop());
    8888                }
    8989                _menuDiv.setVisible(true);
     
    111111    }
    112112   
     113    public void refreshMenu()
     114    {
     115        _parent.removeChild(_menuDiv.getElement());
     116        _menuDiv = new HTML();
     117        _parent.appendChild(_menuDiv.getElement());
     118        _menuDiv.getElement().getStyle().setProperty("background", "#FFFFFF");
     119        _menuDiv.getElement().getStyle().setProperty("padding", "2px");
     120        _menuDiv.getElement().getStyle().setProperty("position", "absolute");
     121        addMenuItems(_menuItems);
     122    }
     123   
    113124    public void showMenu()
    114125    {
Note: See TracChangeset for help on using the changeset viewer.