Blame lib/Xm/ScrollFrameT.h

Packit b099d7
/* $TOG: ScrollFrameT.h /main/6 1997/07/25 16:49:23 samborn $ */
Packit b099d7
/*
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
 */
Packit b099d7
/*
Packit b099d7
 * HISTORY
Packit b099d7
 */
Packit b099d7
#ifndef _XmScrollFrameT_H
Packit b099d7
#define _XmScrollFrameT_H
Packit b099d7
Packit b099d7
#include <Xm/Xm.h>
Packit b099d7
#include <Xm/NavigatorT.h>
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
externalref XrmQuark XmQTscrollFrame;
Packit b099d7
Packit b099d7
/* Trait structures and typedefs, place typedefs first */
Packit b099d7
Packit b099d7
typedef void (*XmScrollFrameInitProc)(Widget sf, 
Packit b099d7
				      XtCallbackProc moveCB,
Packit b099d7
				      Widget scrollable);
Packit b099d7
typedef Boolean  (*XmScrollFrameGetInfoProc)(Widget sf,
Packit b099d7
					     Cardinal * dimension,
Packit b099d7
					     Widget ** nav_list,
Packit b099d7
					     Cardinal * num_nav_list);
Packit b099d7
typedef void (*XmScrollFrameAddNavigatorProc)(Widget sf, 
Packit b099d7
					      Widget nav,
Packit b099d7
					      Mask dimMask);
Packit b099d7
typedef void (*XmScrollFrameRemoveNavigatorProc)(Widget sf, 
Packit b099d7
						 Widget nav);
Packit b099d7
typedef void (*XmScrollFrameUpdateOrigGeomProc)(Widget sf, 
Packit b099d7
						Widget child,
Packit b099d7
						XtWidgetGeometry *geom);
Packit b099d7
Packit b099d7
Packit b099d7
/* Version 1: added updateOrigGeom */
Packit b099d7
Packit b099d7
typedef struct _XmScrollFrameTraitRec {
Packit b099d7
  int				    version;		/* 1 */
Packit b099d7
  XmScrollFrameInitProc		    init;       
Packit b099d7
  XmScrollFrameGetInfoProc	    getInfo; 
Packit b099d7
  XmScrollFrameAddNavigatorProc     addNavigator;
Packit b099d7
  XmScrollFrameRemoveNavigatorProc  removeNavigator;
Packit b099d7
  XmScrollFrameUpdateOrigGeomProc   updateOrigGeom;
Packit b099d7
} XmScrollFrameTraitRec, *XmScrollFrameTrait;
Packit b099d7
Packit b099d7
Packit b099d7
/* This one gets allocated per instance by the scrollFrame
Packit b099d7
   class. It is just a convenient structure reusable by other scrollFrame
Packit b099d7
   and it needs not to be part of the public trait API */
Packit b099d7
Packit b099d7
typedef struct _XmScrollFrameDataRec {
Packit b099d7
   XtCallbackProc move_cb ;
Packit b099d7
   Widget         scrollable ;
Packit b099d7
   Widget *       nav_list;
Packit b099d7
   Cardinal       num_nav_list ;
Packit b099d7
   Cardinal       num_nav_slots;
Packit b099d7
} XmScrollFrameDataRec, *XmScrollFrameData;
Packit b099d7
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
}  /* Close scope of 'extern "C"' declaration which encloses file. */
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#endif /* _XmScrollFrameT_H */