#ifndef __VIEWGROUP_HPP #define __VIEWGROUP_HPP #define BIFINCL_WINDOW #define BIFINCL_CONTROL #define BIFINCL_COMMONHANDLERS #include #include "viewlist.hpp" #include "wlayout.h" #include "marklist.hpp" #include "property.hpp" class ICEBuffer; class ICEClient; class ViewGroup : public FControl, public FFocusHandler, public FSizeHandler { ICEBuffer *buffer; ICEClient *client; ViewList viewlist; WindowLayout_base *layout_root; View *activeView; public: MarkList marklist; PropertyList proplist; ViewGroup(ICEClient *cl, ICEBuffer *buf); ~ViewGroup(); Bool Create(FRect *rect=0); ICEBuffer *queryBuffer() { return buffer; } ICEClient *queryClient() { return client; } //todo viewlist access View *queryActiveView() { return activeView; } void setActiveView(View *view, Bool setfocus=True); View *queryFirstView(); View *queryNextView(View *v); View *queryPreviousView(View *v); Bool GotFocus(FSetFocusEvent &); Bool SizeChanged(FSizeEvent &ev); void Invalidate(unsigned long startline, unsigned startcol, unsigned long endline, unsigned edncol); }; #endif