#ifndef __ICECLIENT_HPP #define __ICECLIENT_HPP #define BIFINCL_WINDOW #define BIFINCL_APPWINDOW #define BIFINCL_ADVANCEDHANDLERS #define BIFINCL_SCROLLHANDLER #define BIFINCL_SIZERESTRICTIONHANDLERS #define BIFINCL_COMMONHANDLERS #include "status.hpp" #include "btnbar.hpp" #include "vg-list.hpp" #include "property.hpp" class ICEFrame; class ICEBuffer; class ICEClient : public FClientWindow, public FClientScrollHandler, public FSizeRestrictionClientHandler, public FFocusHandler, public FPaintHandler { ICEStatusBar statusbar; FHorizontalButtonBar buttonbar; ViewGroupList viewgrouplist; ViewGroup *activeViewGroup; public: PropertyList proplist; ICEClient(ICEFrame *frame); Bool Create(FAppWindow *pwnd); ViewGroup *createViewGroup(ICEBuffer *buffer); void removeViewGroup(ViewGroup *viewgroup); ViewGroup *queryPreviousViewGroup(ViewGroup *viewgroup); ViewGroup *queryNextViewGroup(ViewGroup *viewgroup); ViewGroup *queryFirstViewGroup(); ViewGroup *queryActiveViewGroup(); void setActiveViewGroup(ViewGroup *viewgroup); void SetMessage(const char *msg) { statusbar.SetMessage(msg?msg:""); } Bool GotFocus(FSetFocusEvent &ev); Bool SizeChanged(FSizeEvent &ev); Bool Paint(FPaintEvent &ev); private: void calcViewGroupRectangle(FRect *rect, FSizeEvent *se); }; #endif