GED 2006 (C++)
File detail
Source code
/*
* File: menu.h - Menu classes
* Project: GED - bitmap editor (ICP)
* Author: Kamil Dudka, xdudka00
* Team: xdudka00, xfilak01, xhefka00, xhradi08
* Created: 2006-04-08
*/
#ifndef MENU_H
#define MENU_H
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Help_Dialog.H>
#include "framebuffer.h"
class DocWnd;
/**
* Document window menu bar
*/
class DocMenu: public Fl_Menu_Bar {
public:
/**
* Create document window menu bar.
* \param pDoc Pointer do document window.
* \param at Position of menu bar.
* \param size Size of menu bar.
*/
DocMenu (DocWnd *pDoc, const Point &at, const BoxSize &size);
~DocMenu ();
/**
* Enable/disable menu items.
* \param img Reference to Image object to obtain requested information.
*/
void menuInit (Image &img);
void macLoad (); ///< Needed for menu callback.
void macStop (); ///< Needed for menu callback.
private:
DocWnd *_doc; ///< Pointer to document window.
int _iSave; ///< File/Save menu item
int _iUndo; ///< Edit/Undo menu item
int _iRedo; ///< Edit/Redo menu item
int _iLoad; ///< Macro/Load menuitem
int _iStop; ///< Macro/Create... menu item
};
/**
* Application window menu bar
*/
class AppMenu: public Fl_Menu_Bar {
public:
/**
* Create application window menu bar.
* \param at Position of menu bar.
* \param size Size of menu bar.
*/
AppMenu (const Point &at, const BoxSize &size);
~AppMenu ();
/**
* Enable/disable "File/Close all" item.
* \param enable Give true to enable item, false to disable.
*/
void enableCloseAll (bool enable);
private:
int _iCloseAll; ///< "File/Close all" menu item
};
/**
* Help browser. Design pattern singleton.
*/
class HelpBrowser: public Fl_Help_Dialog {
public:
~HelpBrowser ();
/**
* Access point to HelpBrowser singleton.
* \return Return pointer to sigleton.
*/
static HelpBrowser *ptr ();
/**
* Close help browser if opened.
*/
static void close ();
protected:
/**
* HelpBrowser can't be allocated static. Use HelpBrowser::ptr() method to obtain singleton address.
*/
HelpBrowser () { }
private:
static HelpBrowser *_instance;
};
#endif // MENU_H