Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 16, 2010, 12:22:12 PM (14 years ago)
Author:
rgrieder
Message:

Background image of the GUI is now managed by GUIManager and kept in a very simple manner: Tell it about the image set and the image name and the it will display it in the root node.
Also split SheetManager.lua from InitialiseGUI.lua to have a separate initialisation, required by GUIManager now.
And modified GUISheet.cc/h accordingly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/gamestates2/src/orxonox/overlays/GUISheet.cc

    r6722 r6737  
    4040        : BaseObject(creator)
    4141        , bShowOnLoad_(false)
    42         , bShowCursor_(true)
    4342        , bHidePrevious_(false)
     43        , bHidePreviousSet_(false)
    4444    {
    4545        RegisterObject(GUISheet);
     
    5757        SUPER(GUISheet, XMLPort, xmlElement, mode);
    5858
    59         XMLPortParam(GUISheet, "showOnLoad",   setShowOnLoad,       getShowOnLoad,       xmlElement, mode);
    60         XMLPortParam(GUISheet, "showCursor",   setCursorVisibility, getCursorVisibility, xmlElement, mode);
    61         XMLPortParam(GUISheet, "hidePrevious", setPreviousHiding,   getPreviousHiding,   xmlElement, mode);
    62         XMLPortParam(GUISheet, "script",       setScript,           getScript,           xmlElement, mode);
     59        XMLPortParam(GUISheet, "showOnLoad",   setShowOnLoad,     getShowOnLoad,     xmlElement, mode);
     60        XMLPortParam(GUISheet, "hidePrevious", setPreviousHiding, getPreviousHiding, xmlElement, mode);
     61        XMLPortParam(GUISheet, "sheetName",    setSheetName,      getSheetName,      xmlElement, mode);
     62        XMLPortParam(GUISheet, "backgroundImage",  setBackgroundImage,  getBackgroundImage,  xmlElement, mode);
     63
     64        if (this->bShowOnLoad_)
     65            this->show();
    6366    }
    6467
    6568    void GUISheet::show()
    6669    {
    67         GUIManager::showGUI(this->script_, this->bHidePrevious_);
     70        GUIManager::getInstance().setBackgroundImage(this->backgroundImage_);
     71        if (this->bHidePreviousSet_)
     72            GUIManager::getInstance().showGUI(this->sheetName_, this->bHidePrevious_);
     73        else
     74            GUIManager::getInstance().showGUI(this->sheetName_);
    6875    }
    6976
    7077    void GUISheet::hide()
    7178    {
    72         GUIManager::hideGUI(this->script_);
     79        GUIManager::getInstance().hideGUI(this->sheetName_);
     80        if (!this->backgroundImage_.empty())
     81            GUIManager::getInstance().setBackgroundImage("");
    7382    }
    7483
    75     void GUISheet::setScript(const std::string& filename)
     84    void GUISheet::setSheetName(const std::string& name)
    7685    {
    77         this->script_ = filename;
    78         GUIManager::getInstance().loadGUI(this->script_);
    79         if (this->bShowOnLoad_)
    80             this->show();
    81     }
    82 
    83     void GUISheet::setCursorVisibility(bool bShow)
    84     {
    85         this->bShowCursor_ = bShow;
    86         // TODO: This call has no effect when already showing!
     86        this->sheetName_ = name;
     87        GUIManager::getInstance().loadGUI(this->sheetName_);
    8788    }
    8889
     
    9091    {
    9192        this->bHidePrevious_ = bHide;
    92         // TODO: This call has no effect when already showing!
     93        this->bHidePreviousSet_ = true;
     94        // Note: This call has no effect when already showing!
    9395    }
    9496}
Note: See TracChangeset for help on using the changeset viewer.