Blame lib/Xm/ComboBoxP.h

Packit b099d7
/* $XConsortium: ComboBoxP.h /main/8 1995/09/19 23:00:21 cde-sun $ */
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
/*	ComboBoxP.h  */
Packit b099d7
#ifndef _XmComboBoxP_H
Packit b099d7
#define _XmComboBoxP_H
Packit b099d7
Packit b099d7
#include <Xm/ManagerP.h>
Packit b099d7
#include <Xm/ComboBox.h> 
Packit b099d7
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/* New fields for the ComboBox widget class record. */
Packit b099d7
Packit b099d7
typedef struct _XmComboBoxClassPart {
Packit b099d7
  XtPointer extension;		/* Pointer to extension record. */
Packit b099d7
} XmComboBoxClassPart;
Packit b099d7
Packit b099d7
Packit b099d7
/* Full class record declaration. */	
Packit b099d7
typedef struct _XmComboBoxClassRec {
Packit b099d7
  CoreClassPart		core_class;
Packit b099d7
  CompositeClassPart	composite_class;
Packit b099d7
  ConstraintClassPart	constraint_class;
Packit b099d7
  XmManagerClassPart	manager_class;
Packit b099d7
  XmComboBoxClassPart	combo_box_class;
Packit b099d7
} XmComboBoxClassRec;
Packit b099d7
Packit b099d7
externalref XmComboBoxClassRec xmComboBoxClassRec;
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * New fields for the ComboBox widget record.	
Packit b099d7
 */
Packit b099d7
Packit b099d7
typedef struct _XmComboBoxPart {
Packit b099d7
  /* Resources */
Packit b099d7
  unsigned char 	type;
Packit b099d7
  unsigned char		match_behavior;
Packit b099d7
  Dimension 		highlight_thickness;
Packit b099d7
  Dimension 		arrow_size;
Packit b099d7
  Dimension 		arrow_spacing;
Packit b099d7
  Dimension 		margin_width;
Packit b099d7
  Dimension 		margin_height;
Packit b099d7
  XtCallbackList	selection_callback;
Packit b099d7
  XmString		selected_item; /* synthetic, not updated */
Packit b099d7
  int			selected_position;
Packit b099d7
  XmFontList		render_table;
Packit b099d7
Packit b099d7
  /* Internal data */
Packit b099d7
  Widget		list_shell; 
Packit b099d7
  Widget		list;		/* Now accessible as a resource */
Packit b099d7
  Widget		scrolled_w; 
Packit b099d7
  Widget		vsb;
Packit b099d7
  Widget		hsb;
Packit b099d7
  int 			ideal_ebheight;
Packit b099d7
  int			ideal_ebwidth;
Packit b099d7
  GC 			arrow_GC;
Packit b099d7
  XRectangle 		hit_rect;
Packit b099d7
  Dimension 		arrow_shadow_width;
Packit b099d7
  Boolean 		arrow_pressed;
Packit b099d7
  Boolean		highlighted;
Packit b099d7
  Boolean		scrolling;
Packit b099d7
  XtEnum		shell_state;
Packit b099d7
  /* NOTE that text_changed is also used for MT_safe resolution of
Packit b099d7
   * the XmNRenderTable, XmNFontList resource settings 
Packit b099d7
   */
Packit b099d7
  Boolean		text_changed;
Packit b099d7
Packit b099d7
  /* New resources/data for CDE compatibility. */
Packit b099d7
  Widget		edit_box;
Packit b099d7
  XmStringTable		items;
Packit b099d7
  int			item_count;
Packit b099d7
  int			visible_item_count;
Packit b099d7
  short			columns;
Packit b099d7
  XtEnum		position_mode;
Packit b099d7
Packit b099d7
} XmComboBoxPart;
Packit b099d7
Packit b099d7
Packit b099d7
/* Full instance record declaration. */	
Packit b099d7
Packit b099d7
typedef struct _XmComboBoxRec {
Packit b099d7
  CorePart		core;
Packit b099d7
  CompositePart		composite;
Packit b099d7
  ConstraintPart	constraint;
Packit b099d7
  XmManagerPart		manager;
Packit b099d7
  XmComboBoxPart 	combo_box;
Packit b099d7
} XmComboBoxRec;
Packit b099d7
Packit b099d7
Packit b099d7
/********    Private Function Declarations    ********/
Packit b099d7
Packit b099d7
/********    End Private Function Declarations    ********/
Packit b099d7
Packit b099d7
Packit b099d7
/* Access macros */
Packit b099d7
#define CB_ArrowPressed(w)   (((XmComboBoxWidget)(w))->combo_box.arrow_pressed)
Packit b099d7
#define CB_ArrowSize(w)	     (((XmComboBoxWidget)(w))->combo_box.arrow_size)
Packit b099d7
#define CB_ArrowSpacing(w)   (((XmComboBoxWidget)(w))->combo_box.arrow_spacing)
Packit b099d7
#define CB_EditBox(w) 	     (((XmComboBoxWidget)(w))->combo_box.edit_box)
Packit b099d7
#define CB_HighlightThickness(w)	\
Packit b099d7
	(((XmComboBoxWidget)(w))->combo_box.highlight_thickness)
Packit b099d7
#define CB_Highlighted(w)    (((XmComboBoxWidget)(w))->combo_box.highlighted)
Packit b099d7
#define CB_HitRect(w)	     (((XmComboBoxWidget)(w))->combo_box.hit_rect)
Packit b099d7
#define CB_List(w) 	     (((XmComboBoxWidget)(w))->combo_box.list)
Packit b099d7
#define CB_ListShell(w)      (((XmComboBoxWidget)(w))->combo_box.list_shell)
Packit b099d7
#define CB_MarginHeight(w)   (((XmComboBoxWidget)(w))->combo_box.margin_height)
Packit b099d7
#define CB_MarginWidth(w)    (((XmComboBoxWidget)(w))->combo_box.margin_width)
Packit b099d7
#define CB_MatchBehavior(w)		\
Packit b099d7
	(((XmComboBoxWidget)(w))->combo_box.match_behavior)
Packit b099d7
#define CB_PositionMode(w)   (((XmComboBoxWidget)(w))->combo_box.position_mode)
Packit b099d7
#define CB_RenderTable(w)    (((XmComboBoxWidget)(w))->combo_box.render_table)
Packit b099d7
#define CB_ScrolledW(w)      (((XmComboBoxWidget)(w))->combo_box.scrolled_w)
Packit b099d7
#define CB_SelectionCB(w)		\
Packit b099d7
	(((XmComboBoxWidget)(w))->combo_box.selection_callback)
Packit b099d7
#define CB_ShellState(w)     (((XmComboBoxWidget)(w))->combo_box.shell_state)
Packit b099d7
#define CB_TextChanged(w)    (((XmComboBoxWidget)(w))->combo_box.text_changed)
Packit b099d7
#define CB_Type(w) 	     (((XmComboBoxWidget)(w))->combo_box.type)
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
Packit b099d7
#endif /* _XmComboBoxP_H */
Packit b099d7
/* DON'T ADD ANYTHING AFTER THIS #endif */