home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- **
- ** C++ Class Library for the Amiga© system software.
- **
- ** Copyright (C) 1994 by Armin Vogt ** EMail: armin@uni-paderborn.de
- ** All Rights Reserved.
- **
- ** $Source: apphome:APlusPlus/RCS/libsource/taglist.cxx,v $
- ** $Revision: 1.4 $
- ** $Date: 1994/05/05 22:10:37 $
- ** $Author: Armin_Vogt $
- **
- ******************************************************************************/
-
-
- extern "C" {
- /*
- #include <intuition/intuition.h>
- #include <intuition/screens.h>
- #include <intuition/imageclass.h>
- #include <intuition/gadgetclass.h>
- #include <intuition/icclass.h>
- #include <utility/tagitem.h>
- #include <libraries/gadtools.h>
- */
- }
-
- // include tag sources
- //#include <APlusPlus/graphics/GraphicObject.h>
- #include <APlusPlus/graphics/Canvas.h>
-
- volatile static char rcs_id[] = "$Id: taglist.cxx,v 1.4 1994/05/05 22:10:37 Armin_Vogt Exp Armin_Vogt $";
-
- /*************************************************************************************************
- This file defines a taglist output operator that knows most of the system and APlusPlus tags.
- *************************************************************************************************/
-
-
- #define TN(v) v,(STRPTR)#v
-
- struct TI
- {
- ULONG tagvalue;
- STRPTR tagname;
- }
- tagnames[] =
- {
- TN( GOB_LeftFromLeftOfParent ),
- TN( GOB_RightFromLeftOfParent ),
- TN( GOB_TopFromTopOfParent ),
- TN( GOB_BottomFromTopOfParent ),
-
- TN( GOB_LeftFromRightOfParent ),
- TN( GOB_RightFromRightOfParent ),
- TN( GOB_TopFromBottomOfParent ),
- TN( GOB_BottomFromBottomOfParent ),
-
- TN( GOB_LeftFromLeftOfPred ),
- TN( GOB_RightFromLeftOfPred ),
- TN( GOB_TopFromTopOfPred ),
- TN( GOB_BottomFromTopOfPred ),
-
- TN( GOB_LeftFromRightOfPred ),
- TN( GOB_RightFromRightOfPred ),
- TN( GOB_TopFromBottomOfPred ),
- TN( GOB_BottomFromBottomOfPred ),
-
- TN( GOB_Left ),
- TN( GOB_Top ),
- TN( GOB_Width ),
- TN( GOB_Height ),
-
- TN( CNV_ViewX ),
- TN( CNV_GranularityX ),
- TN( CNV_VisibleX ),
- TN( CNV_ViewY ),
- TN( CNV_GranularityY ),
- TN( CNV_VisibleY ),
- TN( CNV_Width ),
- TN( CNV_Height ),
-
- TN( GA_Dummy ),
- TN( GA_Left ),
- TN( GA_RelRight ),
- TN( GA_Top ),
- TN( GA_RelBottom ),
- TN( GA_Width ),
- TN( GA_RelWidth ),
- TN( GA_Height ),
- TN( GA_RelHeight ),
- TN( GA_Text ),
- TN( GA_Image ),
- TN( GA_Border ),
- TN( GA_SelectRender ),
- TN( GA_Highlight ),
- TN( GA_Disabled ),
- TN( GA_GZZGadget ),
- TN( GA_ID ),
- TN( GA_UserData ),
- TN( GA_SpecialInfo ),
- TN( GA_Selected ),
- TN( GA_EndGadget ),
- TN( GA_Immediate ),
- TN( GA_RelVerify ),
- TN( GA_FollowMouse ),
- TN( GA_RightBorder ),
- TN( GA_LeftBorder ),
- TN( GA_TopBorder ),
- TN( GA_BottomBorder ),
- TN( GA_ToggleSelect ),
- TN( GTVI_NewWindow ),
- TN( GTVI_NWTags ),
-
- TN( GT_Private0 ),
-
- TN( GTCB_Checked ),
-
- TN( GTLV_Top ),
- TN( GTLV_Labels ),
- TN( GTLV_ReadOnly ),
- TN( GTLV_ScrollWidth ),
-
- TN( GTMX_Labels ),
- TN( GTMX_Active ),
-
- TN( GTTX_Text ),
- TN( GTTX_CopyText ),
- TN( GTNM_Number ),
-
- TN( GTCY_Labels ),
- TN( GTCY_Active ),
-
- TN( GTPA_Depth ),
- TN( GTPA_Color ),
- TN( GTPA_ColorOffset ),
- TN( GTPA_IndicatorWidth ),
- TN( GTPA_IndicatorHeight ),
-
- TN( GTSC_Top ),
- TN( GTSC_Total ),
- TN( GTSC_Visible ),
- TN( GTSC_Overlap ),
-
- TN( GTSL_Min ),
- TN( GTSL_Max ),
- TN( GTSL_Level ),
- TN( GTSL_MaxLevelLen ),
- TN( GTSL_LevelFormat ),
- TN( GTSL_LevelPlace ),
- TN( GTSL_DispFunc ),
-
- TN( GTST_String ),
- TN( GTST_MaxChars ),
-
- TN( GTIN_Number ),
- TN( GTIN_MaxChars ),
-
- TN( GTMN_TextAttr ),
- TN( GTMN_FrontPen ),
-
- TN( GTBB_Recessed ),
-
- TN( GT_VisualInfo ),
-
- TN( GTLV_ShowSelected ),
- TN( GTLV_Selected ),
- TN( GT_Reserved1 ),
-
- TN( GTTX_Border ),
- TN( GTNM_Border ),
-
- TN( GTSC_Arrows ),
- /****************************
-
- TN( GTMN_Menu ),
- TN( GTMX_Spacing ),
-
- TN( GTMN_FullMenu ),
- TN( GTMN_SecondaryError ),
- TN( GT_Underscore ),
- TN( GTST_EditHook ),
- TN( GTIN_EditHook ),
- TN( GTST_EditHook ),
-
- TN( GTMN_Checkmark ),
- TN( GTMN_AmigaKey ),
- TN( GTMN_NewLookMenus ),
-
- TN( GTCB_Scaled ),
- TN( GTMX_Scaled ),
-
- TN( GTPA_NumColors ),
-
- TN( GTMX_TitlePlace ),
-
- TN( GTTX_FrontPen ),
- TN( GTTX_BackPen ),
- TN( GTTX_Justification ),
-
- TN( GTNM_FrontPen ),
- TN( GTNM_BackPen ),
- TN( GTNM_Justification ),
- TN( GTNM_Format ),
- TN( GTNM_MaxNumberLen ),
-
- TN( GTBB_FrameType ),
-
- TN( GTLV_MakeVisible ),
- TN( GTLV_ItemHeight ),
-
- TN( GTSL_MaxPixelLen ),
- TN( GTSL_Justification ),
-
- TN( GTPA_ColorTable ),
-
- TN( GTLV_CallBack ),
- TN( GTLV_MaxPen ),
-
- TN( GTTX_Clipped ),
- TN( GTNM_Clipped ),
- ***************************/
- TN( PGA_Freedom ),
- TN( PGA_Borderless ),
- TN( PGA_HorizPot ),
- TN( PGA_HorizBody ),
- TN( PGA_VertPot ),
- TN( PGA_VertBody ),
- TN( PGA_Total ),
- TN( PGA_Visible ),
- TN( PGA_Top ),
- TN( PGA_NewLook ),
- TN( GA_IntuiText ),
- TN( GA_LabelImage ),
- TN( GA_TabCycle ),
- TN( GA_SysGadget ),
- TN( GA_SysGType ),
- TN( GA_Previous ),
- TN( GA_Next ),
- TN( GA_DrawInfo ),
- TN( STRINGA_MaxChars ),
- TN( STRINGA_Buffer ),
- TN( STRINGA_UndoBuffer ),
- TN( STRINGA_WorkBuffer ),
- TN( STRINGA_BufferPos ),
- TN( STRINGA_DispPos ),
- TN( STRINGA_AltKeyMap ),
- TN( STRINGA_Font ),
- TN( STRINGA_Pens ),
- TN( STRINGA_ActivePens ),
- TN( STRINGA_EditHook ),
- TN( STRINGA_EditModes ),
- TN( LAYOUTA_LayoutObj ),
- TN( LAYOUTA_Spacing ),
- TN( LAYOUTA_Orientation ),
- TN( STRINGA_ReplaceMode ),
- TN( STRINGA_FixedFieldMode ),
- TN( STRINGA_NoFilterMode ),
- TN( STRINGA_Justification ),
- TN( STRINGA_LongVal ),
- TN( STRINGA_TextVal ),
- TN( STRINGA_ExitHelp ),
-
- TN( WA_Left ),
- TN( WA_Top ),
- TN( WA_Width ),
- TN( WA_Height ),
- TN( WA_DetailPen ),
- TN( WA_BlockPen ),
- TN( WA_IDCMP ),
- TN( WA_Flags ),
- TN( WA_Gadgets ),
- TN( WA_Checkmark ),
- TN( WA_Title ),
- TN( WA_ScreenTitle ),
- TN( WA_CustomScreen ),
- TN( WA_SuperBitMap ),
- TN( WA_MinWidth ),
- TN( WA_MinHeight ),
- TN( WA_MaxWidth ),
- TN( WA_MaxHeight ),
- TN( WA_InnerWidth ),
- TN( WA_InnerHeight ),
- TN( WA_PubScreenName ),
- TN( WA_PubScreen ),
- TN( WA_PubScreenFallBack ),
- TN( WA_WindowName ),
- TN( WA_Colors ),
- TN( WA_Zoom ),
- TN( WA_MouseQueue ),
- TN( WA_BackFill ),
- TN( WA_RptQueue ),
- TN( WA_SizeGadget ),
- TN( WA_DragBar ),
- TN( WA_DepthGadget ),
- TN( WA_CloseGadget ),
- TN( WA_Backdrop ),
- TN( WA_ReportMouse ),
- TN( WA_NoCareRefresh ),
- TN( WA_Borderless ),
- TN( WA_Activate ),
- TN( WA_RMBTrap ),
- TN( WA_SimpleRefresh ),
- TN( WA_SmartRefresh ),
- TN( WA_SizeBRight ),
- TN( WA_SizeBBottom ),
- TN( WA_AutoAdjust ),
- TN( WA_GimmeZeroZero ),
- TN( WA_MenuHelp ),
-
- /***********************************
- TN( ICA_TARGET ),
- TN( ICA_MAP ),
- TN( ICSPECIAL_CODE ),
- TN( IA_Left ),
- TN( IA_Top ),
- TN( IA_Width ),
- TN( IA_Height ),
- TN( IA_FGPen ),
- TN( IA_BGPen ),
- TN( IA_Data ),
- TN( IA_LineWidth ),
- TN( IA_Pens ),
- TN( IA_Resolution ),
- TN( IA_APattern ),
- TN( IA_APatSize ),
- TN( IA_Mode ),
- TN( IA_Font ),
- TN( IA_Outline ),
- TN( IA_Recessed ),
- TN( IA_DoubleEmboss ),
- TN( IA_EdgesOnly ),
- TN( SYSIA_Size ),
- TN( SYSIA_Depth ),
- TN( SYSIA_Which ),
- TN( SYSIA_DrawInfo ),
- TN( IA_ShadowPen ),
- TN( IA_HighlightPen ),
- ***************************************/
-
- TN( SA_Left ),
- TN( SA_Top ),
- TN( SA_Width ),
- TN( SA_Height ),
- TN( SA_Depth ),
- TN( SA_DetailPen ),
- TN( SA_BlockPen ),
- TN( SA_Title ),
- TN( SA_Colors ),
- TN( SA_ErrorCode ),
- TN( SA_Font ),
- TN( SA_SysFont ),
- TN( SA_Type ),
- TN( SA_BitMap ),
- TN( SA_PubName ),
- TN( SA_PubSig ),
- TN( SA_PubTask ),
- TN( SA_DisplayID ),
- TN( SA_DClip ),
- TN( SA_Overscan ),
- TN( SA_Obsolete1 ),
- TN( SA_ShowTitle ),
- TN( SA_Behind ),
- TN( SA_Quiet ),
- TN( SA_AutoScroll ),
- TN( SA_Pens ),
- TN( SA_FullPalette ),
- TN( TAG_DONE ),
- TN( TAG_END ),
- TN( TAG_IGNORE ),
- TN( TAG_MORE ),
- TN( TAG_SKIP ),
- 0L,NULL
- };
-
-
- ostream& operator << (ostream& OS,struct TagItem *taglist)
- {
- struct TagItem *tstate,*tag;
-
- tstate = taglist;
- while (tag = NextTagItem(&tstate))
- {
- struct TI *ti = &tagnames[0];
- while (ti->tagvalue)
- {
- if (ti->tagvalue == tag->ti_Tag)
- {
- OS << ti->tagname <<","<< (LONG)tag->ti_Data<<"\t";
- break;
- }
- else ti++;
- }
- if (ti->tagvalue==0) OS << "_UNKNOWN_" << "," << (LONG)tag->ti_Data<<"\t";
- }
- return OS;
- }
-
-