Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:15:28

0001 /* $TOG: ScrollFrameT.h /main/6 1997/07/25 16:49:23 samborn $ */
0002 /*
0003  * Motif
0004  *
0005  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
0006  *
0007  * These libraries and programs are free software; you can
0008  * redistribute them and/or modify them under the terms of the GNU
0009  * Lesser General Public License as published by the Free Software
0010  * Foundation; either version 2 of the License, or (at your option)
0011  * any later version.
0012  *
0013  * These libraries and programs are distributed in the hope that
0014  * they will be useful, but WITHOUT ANY WARRANTY; without even the
0015  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
0016  * PURPOSE. See the GNU Lesser General Public License for more
0017  * details.
0018  *
0019  * You should have received a copy of the GNU Lesser General Public
0020  * License along with these librararies and programs; if not, write
0021  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
0022  * Floor, Boston, MA 02110-1301 USA
0023  */
0024 /*
0025  * HISTORY
0026  */
0027 #ifndef _XmScrollFrameT_H
0028 #define _XmScrollFrameT_H
0029 
0030 #include <Xm/Xm.h>
0031 #include <Xm/NavigatorT.h>
0032 
0033 #ifdef __cplusplus
0034 extern "C" {
0035 #endif
0036 
0037 externalref XrmQuark XmQTscrollFrame;
0038 
0039 /* Trait structures and typedefs, place typedefs first */
0040 
0041 typedef void (*XmScrollFrameInitProc)(Widget sf, 
0042                       XtCallbackProc moveCB,
0043                       Widget scrollable);
0044 typedef Boolean  (*XmScrollFrameGetInfoProc)(Widget sf,
0045                          Cardinal * dimension,
0046                          Widget ** nav_list,
0047                          Cardinal * num_nav_list);
0048 typedef void (*XmScrollFrameAddNavigatorProc)(Widget sf, 
0049                           Widget nav,
0050                           Mask dimMask);
0051 typedef void (*XmScrollFrameRemoveNavigatorProc)(Widget sf, 
0052                          Widget nav);
0053 typedef void (*XmScrollFrameUpdateOrigGeomProc)(Widget sf, 
0054                         Widget child,
0055                         XtWidgetGeometry *geom);
0056 
0057 
0058 /* Version 1: added updateOrigGeom */
0059 
0060 typedef struct _XmScrollFrameTraitRec {
0061   int                   version;        /* 1 */
0062   XmScrollFrameInitProc         init;       
0063   XmScrollFrameGetInfoProc      getInfo; 
0064   XmScrollFrameAddNavigatorProc     addNavigator;
0065   XmScrollFrameRemoveNavigatorProc  removeNavigator;
0066   XmScrollFrameUpdateOrigGeomProc   updateOrigGeom;
0067 } XmScrollFrameTraitRec, *XmScrollFrameTrait;
0068 
0069 
0070 /* This one gets allocated per instance by the scrollFrame
0071    class. It is just a convenient structure reusable by other scrollFrame
0072    and it needs not to be part of the public trait API */
0073 
0074 typedef struct _XmScrollFrameDataRec {
0075    XtCallbackProc move_cb ;
0076    Widget         scrollable ;
0077    Widget *       nav_list;
0078    Cardinal       num_nav_list ;
0079    Cardinal       num_nav_slots;
0080 } XmScrollFrameDataRec, *XmScrollFrameData;
0081 
0082 
0083 #ifdef __cplusplus
0084 }  /* Close scope of 'extern "C"' declaration which encloses file. */
0085 #endif
0086 
0087 #endif /* _XmScrollFrameT_H */