/* TUIpeer works in conjunction with an implementation of java.awt.Toolkit to provide a Text User Interface for programs using the Java AWT. Copyright (C) 1997-2000 Stuart D. Gathman This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #pragma interface #include "container.h" class FrameComponent; struct WindowComponent: ContainerComponent { WindowComponent(FrameComponent *); ~WindowComponent(); IndirectContext *getDC(); void repaint(const Rect &); void show(bool); void remoteMethod(int cmd); void reshape(int x,int y,int w,int h); void setCursor(int x,int y); void setCursor(int type); void setfocus(Controller *); void nextFocus(); void prevFocus(); bool nextFocus(Component *); bool prevFocus(Component *); void getfocus(); void losefocus(); void key(int k); class FrameComponent *getFrame() const; protected: class WindowContext *win; WindowComponent *owner; private: WindowComponent(const WindowComponent &); }; class Dialog: public WindowComponent { Dialog(const Dialog &); string title; Dialog *modalDialog; bool sizable; public: Dialog(FrameComponent *); const char *getTitle() const { return title.c_str(); } void remoteMethod(int cmd); void setTitle(const string &); void key(int k); void show(bool); IndirectContext *getDC(); void repaint(const Rect &); void setCursor(int x,int y); ~Dialog(); }; class FrameComponent: public Dialog { FrameComponent(const FrameComponent &); MenuContainer *menu; public: FrameComponent(); void remoteMethod(int cmd); void setMenu(MenuContainer *m); void getfocus(); void key(int k); class FrameComponent *getFrame() const; ~FrameComponent(); };