00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef FXMENUCASCADE_H
00025
#define FXMENUCASCADE_H
00026
00027
#ifndef FXMENUCAPTION_H
00028
#include "FXMenuCaption.h"
00029
#endif
00030
00031
namespace FX {
00032
00033
00034
class FXPopup;
00035
00036
00037
00038
00039
00040
00041 class FXAPI FXMenuCascade :
public FXMenuCaption {
00042 FXDECLARE(FXMenuCascade)
00043
protected:
00044
FXPopup *pane;
00045
protected:
00046 FXMenuCascade();
00047
void drawTriangle(
FXDCWindow& dc,FXint l,FXint t,FXint r,FXint b);
00048
private:
00049 FXMenuCascade(
const FXMenuCascade&);
00050 FXMenuCascade &operator=(
const FXMenuCascade&);
00051
public:
00052
long onPaint(
FXObject*,FXSelector,
void*);
00053
long onEnter(
FXObject*,FXSelector,
void*);
00054
long onLeave(
FXObject*,FXSelector,
void*);
00055
long onButtonPress(
FXObject*,FXSelector,
void*);
00056
long onButtonRelease(
FXObject*,FXSelector,
void*);
00057
long onKeyPress(
FXObject*,FXSelector,
void*);
00058
long onKeyRelease(
FXObject*,FXSelector,
void*);
00059
long onHotKeyPress(
FXObject*,FXSelector,
void*);
00060
long onHotKeyRelease(
FXObject*,FXSelector,
void*);
00061
long onCmdPost(
FXObject*,FXSelector,
void*);
00062
long onCmdUnpost(
FXObject*,FXSelector,
void*);
00063
public:
00064
enum {
00065 ID_MENUTIMER=FXMenuCaption::ID_LAST,
00066 ID_LAST
00067 };
00068
public:
00069
00070
00071 FXMenuCascade(
FXComposite* p,
const FXString& text,
FXIcon* ic=NULL,
FXPopup* pup=NULL,FXuint opts=0);
00072
00073
00074
virtual void create();
00075
00076
00077
virtual void detach();
00078
00079
00080 virtual void destroy();
00081
00082
00083 virtual FXbool canFocus() const;
00084
00085
00086 virtual
void setFocus();
00087
00088
00089 virtual
void killFocus();
00090
00091
00092
void setMenu(
FXPopup *pup){ pane = pup; }
00093
00094
00095
FXPopup* getMenu()
const {
return pane; }
00096
00097
00098
virtual FXbool contains(FXint parentx,FXint parenty)
const;
00099
00100
00101
virtual void save(FXStream& store)
const;
00102
00103
00104
virtual void load(FXStream& store);
00105
00106
00107
virtual ~FXMenuCascade();
00108 };
00109
00110 }
00111
00112
#endif