|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T i
Length: 4513 (0x11a1) Types: TextFile Names: »ibpanelctrl.h«
└─⟦8648bda34⟧ Bits:30007244 EUUGD5_II: X11R5 └─⟦87c3ac0e0⟧ »./contrib-3/contrib-3.00« └─⟦de8ce1454⟧ └─⟦this⟧ »contrib/lib/iv/src/bin/ibuild/ibpanelctrl.h«
/* * Copyright (c) 1991 Stanford University * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of Stanford not be used in advertising or * publicity pertaining to distribution of the software without specific, * written prior permission. Stanford makes no representations about * the suitability of this software for any purpose. It is provided "as is" * without express or implied warranty. * * STANFORD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. * IN NO EVENT SHALL STANFORD BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef ibpanelctrl_h #define ibpanelctrl_h #include "ibmessage.h" #include "ibviewer.h" class ButtonStateVar; class MemberNameVar; class TrackNameVar; class ITextComp; class IView; class InfoDialog; class PanelCtrlGraphic; class PanelCtrlComp : public GrBlockComp { public: PanelCtrlComp(PanelCtrlGraphic* = nil); virtual ~PanelCtrlComp(); virtual boolean IsRelatableTo(InteractorComp*); virtual boolean IsRelatable(); virtual void Resize(); virtual void Reconfig(); virtual void Instantiate(); virtual void Interpret(Command*); virtual void Uninterpret(Command*); virtual void Read(istream&); virtual void Write(ostream&); virtual ClassId GetClassId(); virtual boolean IsA(ClassId); virtual StateVar* GetState(const char*); virtual void SetState(const char*, StateVar*); virtual InteractorComp& operator = (InteractorComp&); virtual ButtonStateVar* GetButtonStateVar(); ITextComp* GetKeyLabel(); TrackNameVar* GetToolName(); MemberNameVar* GetEditorVar(); PanelCtrlGraphic* GetPanelCtrlGraphic(); protected: ITextComp* _keylabel; TrackNameVar* _toolname; MemberNameVar* _edVar; ButtonStateVar* _curCtrlVar; }; inline boolean PanelCtrlComp::IsRelatable () { return true; } inline ITextComp* PanelCtrlComp::GetKeyLabel() { return _keylabel; } inline TrackNameVar* PanelCtrlComp::GetToolName() { return _toolname; } inline MemberNameVar* PanelCtrlComp::GetEditorVar() { return _edVar; } inline ButtonStateVar* PanelCtrlComp::GetButtonStateVar() { return _curCtrlVar; } class PanelCtrlView : public GrBlockView { public: PanelCtrlView(PanelCtrlComp* = nil); PanelCtrlComp* GetPanelCtrlComp(); virtual GraphicComp* CreateProtoComp(Editor*, Coord, Coord, Coord, Coord); virtual Manipulator* CreateManipulator(Viewer*,Event&,Transformer*,Tool*); virtual Command* InterpretManipulator(Manipulator*); virtual void Interpret(Command*); virtual Graphic* GetGraphic(); virtual void Update(); virtual InfoDialog* GetInfoDialog(); virtual ClassId GetClassId(); virtual boolean IsA(ClassId); protected: IView* _keylabel; }; class PanelCtrlGraphic : public IBViewerGraphic { public: PanelCtrlGraphic( const char* name = "", Orientation = Horizontal, CanvasVar* = nil, Graphic* = nil ); virtual ~PanelCtrlGraphic(); Orientation GetOrientation(); const char* GetName(); virtual Graphic* Copy(); virtual void Read(istream&); virtual void Write(ostream&); virtual ClassId GetClassId(); virtual boolean IsA(ClassId); private: Orientation _orient; char* _name; }; inline Orientation PanelCtrlGraphic::GetOrientation () { return _orient; } inline const char* PanelCtrlGraphic::GetName () { return _name; } class PanelCtrlCode : public GrBlockCode { public: PanelCtrlCode(PanelCtrlComp* = nil); virtual boolean Definition(ostream&); PanelCtrlComp* GetPanelCtrlComp(); virtual ClassId GetClassId(); virtual boolean IsA(ClassId); protected: virtual boolean CoreConstDecls(ostream&); virtual boolean CoreConstInits(ostream&); virtual boolean ConstDecls(ostream&); virtual boolean ConstInits(ostream&); virtual boolean EmitIncludeHeaders(ostream&); void HashKeyCode(char*); boolean SingleKid(); }; #endif