|
|
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: 18741 (0x4935)
Types: TextFile
Names: »ibcreator.c«
└─⟦8648bda34⟧ Bits:30007244 EUUGD5_II: X11R5
└─⟦87c3ac0e0⟧ »./contrib-3/contrib-3.00«
└─⟦de8ce1454⟧
└─⟦this⟧ »contrib/lib/iv/src/bin/ibuild/ibcreator.c«
/*
* 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.
*/
/*
* IBuild object constructor class implementation.
* $Header: /master/3.0/iv/src/bin/ibuild/RCS/ibcreator.c,v 1.2 91/09/27 14:07:43 tang Exp $
*/
#include "ibline.h"
#include "ibspline.h"
#include "ibtext.h"
#include "ibrect.h"
#include "ibellipse.h"
#include "ibpolygon.h"
#include "ibgrcomp.h"
#include "ibborder.h"
#include "ibbox.h"
#include "ibbutton.h"
#include "ibclasses.h"
#include "ibcmds.h"
#include "ibcommandctrl.h"
#include "ibcode.h"
#include "ibcreator.h"
#include "ibdialog.h"
#include "ibeditor.h"
#include "ibfbrowser.h"
#include "ibglue.h"
#include "ibgrblock.h"
#include "ibinteractor.h"
#include "ibmessage.h"
#include "ibscene.h"
#include "ibscroller.h"
#include "ibstred.h"
#include "ibtools.h"
#include "ibadjuster.h"
#include "ibbitmap.h"
#include "ibframe.h"
#include "ibdeck.h"
#include "ibmenu.h"
#include "ibslider.h"
#include "ibpanner.h"
#include "ibpanelctrl.h"
#include "ibraster.h"
#include "ibshaper.h"
#include "ibstencil.h"
#include "ibstrbrowser.h"
#include "ibtextedit.h"
#include "ibviewer.h"
#include "ibviewport.h"
#include "ibvars.h"
#include <Unidraw/catalog.h>
/*****************************************************************************/
boolean IBCreator::_lock = true;
/*****************************************************************************/
IBCreator::IBCreator () {}
void IBCreator::SetLock(boolean lock) { _lock = lock; }
void* IBCreator::Create (ClassId id, istream& in, ObjectMap* objmap,int objid){
if (!_lock) {
switch (id) {
case LINE_COMP: CREATE(ILineComp, in, objmap, objid);
case MULTILINE_COMP: CREATE(IMultiLineComp, in,objmap,objid);
case SPLINE_COMP: CREATE(ISplineComp, in, objmap, objid);
case TEXT_COMP: CREATE(ITextComp, in, objmap, objid);
case RECT_COMP: CREATE(IRectComp, in, objmap, objid);
case ELLIPSE_COMP: CREATE(IEllipseComp, in, objmap, objid);
case POLYGON_COMP: CREATE(IPolygonComp, in, objmap, objid);
case CLOSEDSPLINE_COMP: CREATE(IClosedSplineComp, in, objmap, objid);
case GRAPHIC_COMPS: CREATE(IGraphicComps, in, objmap, objid);
case STENCIL_COMP: CREATE(IStencilComp, in, objmap, objid);
case RASTER_COMP: CREATE(IRasterComp, in, objmap, objid);
default: return Default(id, in, objmap, objid);
}
} else {
return Default(id, in, objmap, objid);
}
}
void* IBCreator::Default(ClassId id, istream& in, ObjectMap* objmap,int objid){
switch (id) {
case ILINE_COMP: CREATE(ILineComp, in, objmap, objid);
case IMULTILINE_COMP: CREATE(IMultiLineComp, in,objmap,objid);
case ISPLINE_COMP: CREATE(ISplineComp, in, objmap, objid);
case ITEXT_COMP: CREATE(ITextComp, in, objmap, objid);
case IRECT_COMP: CREATE(IRectComp, in, objmap, objid);
case IELLIPSE_COMP: CREATE(IEllipseComp, in, objmap, objid);
case IPOLYGON_COMP: CREATE(IPolygonComp, in, objmap, objid);
case ICLOSEDSPLINE_COMP:CREATE(IClosedSplineComp, in, objmap, objid);
case IGRAPHIC_COMPS: CREATE(IGraphicComps, in, objmap, objid);
case ISTENCIL_COMP: CREATE(IStencilComp, in, objmap, objid);
case IRASTER_COMP: CREATE(IRasterComp, in, objmap, objid);
case IKEY_COMP: CREATE(ITextComp, in, objmap, objid);
case ABOUT_CMD: CREATE(AboutCmd, in, objmap, objid);
case BORDER_COMP: CREATE(BorderComp, in, objmap, objid);
case BOOLEANSTATE_VAR: CREATE(BooleanStateVar, in, objmap, objid);
case BUTTONSHAREDNAME: CREATE(ButtonSharedName, in, objmap, objid);
case MEMBERSHAREDNAME: CREATE(MemberSharedName, in, objmap, objid);
case BUTTONSTATE_VAR: CREATE(ButtonStateVar, in, objmap, objid);
case BUTTON_COMP: CREATE(ButtonComp, in, objmap, objid);
case BITMAP_COMP: CREATE(BitmapComp, in, objmap, objid);
case ADJUSTER_COMP: CREATE(AdjusterComp, in, objmap, objid);
case CANVAS_VAR: CREATE(CanvasVar, in, objmap, objid);
case CODE_CMD: CREATE(CodeCmd, in, objmap, objid);
case DECK_COMP: CREATE(DeckComp, in, objmap, objid);
case DIALOG_CLASS: CREATE(DialogClass, in, objmap, objid);
case EXAMINE_TOOL: CREATE(ExamineTool, in, objmap, objid);
case FBROWSER_COMP: CREATE(FBrowserComp, in, objmap, objid);
case FBROWSER_VAR: CREATE(FBrowserVar, in, objmap, objid);
case STRBROWSER_COMP: CREATE(StrBrowserComp, in, objmap, objid);
case GRBLOCK_COMP: CREATE(GrBlockComp, in, objmap, objid);
case PANELCONTROL_COMP: CREATE(PanelCtrlComp, in, objmap, objid);
case COMMANDCONTROL_COMP: CREATE(CommandCtrlComp, in, objmap, objid);
case FRAME_COMP: CREATE(FrameComp, in, objmap, objid);
case GLUEVISIBILITY_CMD:CREATE(GlueVisibilityCmd, in, objmap, objid);
case GLUE_COMP: CREATE(GlueComp, in, objmap, objid);
case HBOX_COMP: CREATE(HBoxComp, in, objmap, objid);
case SHAPER_COMP: CREATE(ShaperComp, in, objmap, objid);
case MENUBAR_COMP: CREATE(MenuBarComp, in, objmap, objid);
case POPUPMENU_COMP: CREATE(PopupMenuComp, in, objmap, objid);
case IBNAME_VAR: CREATE(IBNameVar, in, objmap, objid);
case IDRAW_CMD: CREATE(IdrawCmd, in, objmap, objid);
case INFO_CMD: CREATE(InfoCmd, in, objmap, objid);
case INSTANCENAME_VAR: CREATE(InstanceNameVar, in, objmap, objid);
case MEMBERNAME_VAR: CREATE(MemberNameVar, in, objmap, objid);
case MARGINFRAME_COMP: CREATE(MarginFrameComp, in, objmap, objid);
case MENUITEM_COMP: CREATE(MenuItemComp, in, objmap, objid);
case MESSAGE_COMP: CREATE(MessageComp, in, objmap, objid);
case MONOSCENE_CMD: CREATE(MonoSceneCmd, in, objmap, objid);
case MONOSCENE_COMP: CREATE(MonoSceneComp, in, objmap, objid);
case MONOSCENE_CLASS: CREATE(MonoSceneClass, in, objmap, objid);
case EDITOR_COMP: CREATE(EditorComp, in, objmap, objid);
case IBVIEWER_COMP: CREATE(IBViewerComp, in, objmap, objid);
case NEWTOOL_CMD: CREATE(NewToolCmd, in, objmap, objid);
case NEWVIEW_CMD: CREATE(NewViewCmd, in, objmap, objid);
case PANNER_COMP: CREATE(PannerComp, in, objmap, objid);
case PLACE_CMD: CREATE(PlaceCmd, in, objmap, objid);
case PROCNAME_VAR: CREATE(TrackNameVar, in, objmap, objid);
case PULLMENU_COMP: CREATE(PullMenuComp, in, objmap, objid);
case MENUBODY_COMP: CREATE(MenuBodyComp, in, objmap, objid);
case SCENE_CMD: CREATE(SceneCmd, in, objmap, objid);
case SCENE_COMP: CREATE(SceneComp, in, objmap, objid);
case SCROLLER_COMP: CREATE(ScrollerComp, in, objmap, objid);
case SLIDER_COMP: CREATE(SliderComp, in, objmap, objid);
case SHAPE_VAR: CREATE(ShapeVar, in, objmap, objid);
case STREDIT_COMP: CREATE(StrEditComp, in, objmap, objid);
case TEXTEDIT_COMP: CREATE(TextEditComp, in, objmap, objid);
case TOOLS_CMD: CREATE(ToolsCmd, in, objmap, objid);
case RELATE_CMD: CREATE(RelateCmd, in, objmap, objid);
case EDIT_CMD: CREATE(EditCmd, in, objmap, objid);
case NAVIGATE_CMD: CREATE(NavigateCmd, in, objmap, objid);
case TAB_CMD: CREATE(TabCmd, in, objmap, objid);
case VBOX_COMP: CREATE(VBoxComp, in, objmap, objid);
case SUBCLASSNAME_VAR: CREATE(SubclassNameVar, in, objmap, objid);
case REORDER_CMD: CREATE(ReorderCmd, in, objmap, objid);
case IBGRAPHIC_COMP_TOOL: CREATE(IBGraphicCompTool, in, objmap, objid);
case VIEWPORT_COMP: CREATE(ViewportComp, in, objmap, objid);
default: return Creator::Create(id, in, objmap, objid);
}
}
void* IBCreator::Create (ClassId id) {
if (id == ILINE_VIEW) return new IView;
if (id == IMULTILINE_VIEW) return new IView;
if (id == ISPLINE_VIEW) return new IView;
if (id == ITEXT_VIEW) return new ITextView;
if (id == IKEY_VIEW) return new ITextView;
if (id == IRECT_VIEW) return new IView;
if (id == IELLIPSE_VIEW) return new IView;
if (id == IPOLYGON_VIEW) return new IView;
if (id == ICLOSEDSPLINE_VIEW) return new IView;
if (id == ISTENCIL_VIEW) return new IView;
if (id == IRASTER_VIEW) return new IView;
if (id == IGRAPHIC_VIEWS) return new IGraphicViews;
if (id == ITEXT_CODE) return new TextCode;
if (id == ILINE_CODE) return new LineCode;
if (id == IMULTILINE_CODE) return new MultiLineCode;
if (id == ISPLINE_CODE) return new SplineCode;
if (id == IRECT_CODE) return new RectCode;
if (id == IELLIPSE_CODE) return new EllipseCode;
if (id == IPOLYGON_CODE) return new PolygonCode;
if (id == ICLOSEDSPLINE_CODE) return new ClosedSplineCode;
if (id == IGROUP_CODE) return new GroupCode;
if (id == ISTENCIL_CODE) return new StencilCode;
if (id == IRASTER_CODE) return new RasterCode;
if (id == ADJUSTER_CODE) return new AdjusterCode;
if (id == ADJUSTER_VIEW) return new AdjusterView;
if (id == ADJUSTER_GRAPHIC) return new AdjusterGraphic;
if (id == BITMAP_GRAPHIC) return new BitmapGraphic;
if (id == BORDER_CODE) return new BorderCode;
if (id == BORDER_VIEW) return new BorderView;
if (id == BUTTON_CODE) return new ButtonCode;
if (id == BUTTON_VIEW) return new ButtonView;
if (id == BITMAP_VIEW) return new BitmapView;
if (id == CHECKBOX_GRAPHIC) return new CheckBoxGraphic;
if (id == COMMANDCONTROL_CODE) return new CommandCtrlCode;
if (id == COMMANDCONTROL_VIEW) return new CommandCtrlView;
if (id == DECK_CODE) return new DeckCode;
if (id == DECK_VIEW) return new DeckView;
if (id == DIALOGCLASS_CODE) return new DialogClassCode;
if (id == DIALOGCLASS_VIEW) return new DialogClassView;
if (id == FBROWSER_CODE) return new FBrowserCode;
if (id == STRBROWSER_GRAPHIC) return new StrBrowserGraphic;
if (id == FBROWSER_VIEW) return new FBrowserView;
if (id == STRBROWSER_CODE) return new StrBrowserCode;
if (id == STRBROWSER_VIEW) return new StrBrowserView;
if (id == GRBLOCK_CODE) return new GrBlockCode;
if (id == GRBLOCK_VIEW) return new GrBlockView;
if (id == GRBLOCK_GRAPHIC) return new GrBlockGraphic;
if (id == PANELCONTROL_CODE) return new PanelCtrlCode;
if (id == PANELCONTROL_VIEW) return new PanelCtrlView;
if (id == PANELCONTROL_GRAPHIC)return new PanelCtrlGraphic;
if (id == FRAME_CODE) return new FrameCode;
if (id == FRAME_VIEW) return new FrameView;
if (id == FRAME_GRAPHIC) return new FrameGraphic;
if (id == MARGINFRAME_CODE) return new FrameCode;
if (id == MARGINFRAME_VIEW) return new MarginFrameView;
if (id == GLUE_CODE) return new GlueCode;
if (id == GLUE_VIEW) return new GlueView;
if (id == HBOX_CODE) return new BoxCode;
if (id == HBOX_VIEW) return new SceneView;
if (id == SHAPER_CODE) return new ShaperCode;
if (id == SHAPER_VIEW) return new SceneView;
if (id == MENUBAR_CODE) return new MenuBarCode;
if (id == MENUBAR_VIEW) return new SceneView;
if (id == MENUITEM_GRAPHIC) return new MenuItemGraphic;
if (id == MENUITEM_VIEW) return new MenuItemView;
if (id == PDMENU_GRAPHIC) return new PDMenuGraphic;
if (id == PRMENU_GRAPHIC) return new PRMenuGraphic;
if (id == PULLMENU_VIEW) return new PullMenuView;
if (id == MESSAGE_CODE) return new MessageCode;
if (id == MESSAGE_GRAPHIC) return new MessageGraphic;
if (id == MESSAGE_VIEW) return new MessageView;
if (id == POPUPMENU_CODE) return new BoxCode;
if (id == POPUPMENU_VIEW) return new SceneView;
if (id == PANNER_CODE) return new PannerCode;
if (id == PANNER_VIEW) return new PannerView;
if (id == PUSHBUTTON_GRAPHIC) return new PushButtonGraphic;
if (id == RADIOBUTTON_GRAPHIC) return new RadioButtonGraphic;
if (id == MENUITEM_CODE) return new MenuItemCode;
if (id == MENUBODY_VIEW) return new SceneView;
if (id == MONOSCENECLASS_CODE) return new MonoSceneClassCode;
if (id == MONOSCENECLASS_VIEW) return new MonoSceneClassView;
if (id == EDITOR_CODE) return new EditorCode;
if (id == EDITOR_VIEW) return new EditorView;
if (id == IBVIEWER_CODE) return new IBViewerCode;
if (id == IBVIEWER_VIEW) return new IBViewerView;
if (id == IBVIEWER_GRAPHIC) return new IBViewerGraphic;
if (id == MONOSCENE_CODE) return new MonoSceneCode;
if (id == MONOSCENE_VIEW) return new MonoSceneView;
if (id == PULLMENU_CODE) return new PullMenuCode;
if (id == SCENE_CODE) return new RootCodeView;
if (id == SCENE_VIEW) return new SceneView;
if (id == SCROLLER_CODE) return new ScrollerCode;
if (id == SCROLLER_VIEW) return new ScrollerView;
if (id == SLIDER_CODE) return new SliderCode;
if (id == SLIDER_VIEW) return new SliderView;
if (id == SLIDER_GRAPHIC) return new SliderGraphic;
if (id == STREDIT_CODE) return new StrEditCode;
if (id == STREDIT_GRAPHIC) return new StrEditGraphic;
if (id == STREDIT_VIEW) return new StrEditView;
if (id == VBOX_CODE) return new BoxCode;
if (id == VBOX_VIEW) return new SceneView;
if (id == LMOVER_GRAPHIC) return new LMoverGraphic;
if (id == RMOVER_GRAPHIC) return new RMoverGraphic;
if (id == UMOVER_GRAPHIC) return new UMoverGraphic;
if (id == DMOVER_GRAPHIC) return new DMoverGraphic;
if (id == ENLARGER_GRAPHIC) return new EnlargerGraphic;
if (id == REDUCER_GRAPHIC) return new ReducerGraphic;
if (id == SHADOWFRAME_GRAPHIC) return new ShadowFrameGraphic;
if (id == TEXTEDIT_CODE) return new TextEditCode;
if (id == TEXTEDIT_VIEW) return new TextEditView;
if (id == MARGINFRAME_GRAPHIC) return new MarginFrameGraphic;
if (id == VIEWPORT_CODE) return new ViewportCode;
if (id == VIEWPORT_VIEW) return new ViewportView;
if (id == VIEWPORT_GRAPHIC) return new ViewportGraphic;
if (id == ILINE_COMP) return new ILineComp;
if (id == IMULTILINE_COMP) return new IMultiLineComp;
if (id == ISPLINE_COMP) return new ISplineComp;
if (id == ITEXT_COMP) return new ITextComp;
if (id == IRECT_COMP) return new IRectComp;
if (id == IELLIPSE_COMP) return new IEllipseComp;
if (id == IPOLYGON_COMP) return new IPolygonComp;
if (id == ICLOSEDSPLINE_COMP) return new IClosedSplineComp;
if (id == IGRAPHIC_COMPS) return new IGraphicComps;
if (id == ISTENCIL_COMP) return new IStencilComp;
if (id == IRASTER_COMP) return new IRasterComp;
if (id == BORDER_COMP) return new BorderComp;
if (id == BUTTON_COMP) return new ButtonComp;
if (id == BITMAP_COMP) return new BitmapComp;
if (id == ADJUSTER_COMP) return new AdjusterComp;
if (id == DECK_COMP) return new DeckComp;
if (id == DIALOG_CLASS) return new DialogClass;
if (id == FBROWSER_COMP) return new FBrowserComp;
if (id == STRBROWSER_COMP) return new StrBrowserComp;
if (id == GRBLOCK_COMP) return new GrBlockComp;
if (id == PANELCONTROL_COMP) return new PanelCtrlComp;
if (id == FRAME_COMP) return new FrameComp;
if (id == GLUE_COMP) return new GlueComp;
if (id == HBOX_COMP) return new HBoxComp;
if (id == SHAPER_COMP) return new ShaperComp;
if (id == MENUBAR_COMP) return new MenuBarComp;
if (id == POPUPMENU_COMP) return new PopupMenuComp;
if (id == MARGINFRAME_COMP) return new MarginFrameComp;
if (id == MENUITEM_COMP) return new MenuItemComp;
if (id == MESSAGE_COMP) return new MessageComp;
if (id == MONOSCENE_COMP) return new MonoSceneComp;
if (id == MONOSCENE_CLASS) return new MonoSceneClass;
if (id == EDITOR_COMP) return new EditorComp;
if (id == IBVIEWER_COMP) return new IBViewerComp;
if (id == PANNER_COMP) return new PannerComp;
if (id == PULLMENU_COMP) return new PullMenuComp;
if (id == MENUBODY_COMP) return new MenuBodyComp;
if (id == SCENE_COMP) return new SceneComp;
if (id == SCROLLER_COMP) return new ScrollerComp;
if (id == SLIDER_COMP) return new SliderComp;
if (id == STREDIT_COMP) return new StrEditComp;
if (id == TEXTEDIT_COMP) return new TextEditComp;
if (id == VBOX_COMP) return new VBoxComp;
if (id == VIEWPORT_COMP) return new ViewportComp;
if (id == COMMANDCONTROL_COMP) return new CommandCtrlComp;
return Creator::Create(id);
}