~ubuntu-branches/ubuntu/quantal/openmotif/quantal

« back to all changes in this revision

Viewing changes to lib/Xm/TreeP.h

  • Committer: Bazaar Package Importer
  • Author(s): Stefan Bauer
  • Date: 2010-06-23 12:12:31 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20100623121231-u89gxdp51sg9wjj2
Tags: 2.3.0-1
* New Maintainer (Closes: #379258) 
* Acknowledge NMU changes
* New upstream release (Closes: #494375)
* Get rid of security patches as they are already part of new upstream
  release (00-xpmvuln.openmotif.patch, 342092-CVE-2005-3964.patch)
* Bump Standards to 3.8.4
* Added {misc:Depends} to make the package lintian cleaner
* Fix weak-library-dev-dependency by adding ${binary:Version}) for the
  -dev Package of openmotif
* Let package depend on autotools-dev to use newer autotools-helper-files
* Work around an autoconf-bug (Gentoo-Bug #1475)
* Added Client-side anti-aliased fonts support via XFT
* Added UTF-8 and UTF8_STRING atom support
* Ability to show text and pixmaps in Label, LabelGadget and all
  derived widgets
* Support of PNG/JPEG image formats in the same way as XPM is supported
* Increase FILE_OFFSET_BITS to 64 to show files >2GB in file-selector
  Idea taken from Magne Oestlyngen (Closes: #288537)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *    Copyright 1990, Integrated Computer Solutions, Inc.
 
3
 *
 
4
 *                     All Rights Reserved.
 
5
 *
 
6
 * AUTHOR: Chris D. Peterson
 
7
 *
 
8
 */
 
9
 
 
10
#ifndef _XmTreeP_h_
 
11
#define _XmTreeP_h_
 
12
 
 
13
 
 
14
/************************************************************
 
15
*       INCLUDE FILES
 
16
*************************************************************/
 
17
 
 
18
#include <Xm/HierarchyP.h>
 
19
#include <Xm/Tree.h>
 
20
#include <Xm/xmlist.h>
 
21
 
 
22
/************************************************************
 
23
*       TYPEDEFS AND DEFINES
 
24
*************************************************************/
 
25
 
 
26
#ifdef __cplusplus
 
27
extern "C" {
 
28
#endif
 
29
 
 
30
 
 
31
/************************************************************
 
32
*       MACROS
 
33
*************************************************************/
 
34
 
 
35
#define XmTree_h_node_space(w) (((XmTreeWidget)(w))->tree.h_node_space)
 
36
#define XmTree_v_node_space(w) (((XmTreeWidget)(w))->tree.v_node_space)
 
37
#define XmTree_connect_style(w) (((XmTreeWidget)(w))->tree.connect_style)
 
38
#define XmTree_max_width(w) (((XmTreeWidget)(w))->tree.max_width)
 
39
#define XmTree_max_height(w) (((XmTreeWidget)(w))->tree.max_height)
 
40
#define XmTree_child_op_list(w) (((XmTreeWidget)(w))->tree.child_op_list)
 
41
#define XmTree_ul_point(w) (((XmTreeWidget)(w))->tree.ul_point)
 
42
#define XmTree_lr_point(w) (((XmTreeWidget)(w))->tree.lr_point)
 
43
#define XmTree_orientation(w) (((XmTreeWidget)(w))->tree.orientation)
 
44
#define XmTree_compress_style(w) (((XmTreeWidget)(w))->tree.compress_style)
 
45
#define XmTree_vertical_delta(w) (((XmTreeWidget)(w))->tree.vertical_delta)
 
46
#define XmTree_horizontal_delta(w) (((XmTreeWidget)(w))->tree.horizontal_delta)
 
47
 
 
48
#define XmTreeC_open_close_padding(c) (((XmTreeConstraintPtr)(c))->tree.open_close_padding)
 
49
#define XmTreeC_box_x(c) (((XmTreeConstraintPtr)(c))->tree.box_x)
 
50
#define XmTreeC_box_y(c) (((XmTreeConstraintPtr)(c))->tree.box_y)
 
51
#define XmTreeC_bb_width(c) (((XmTreeConstraintPtr)(c))->tree.bb_width)
 
52
#define XmTreeC_bb_height(c) (((XmTreeConstraintPtr)(c))->tree.bb_height)
 
53
#define XmTreeC_widget_offset(c) (((XmTreeConstraintPtr)(c))->tree.widget_offset)
 
54
#define XmTreeC_placed(c) (((XmTreeConstraintPtr)(c))->tree.placed)
 
55
#define XmTreeC_color(c) (((XmTreeConstraintPtr)(c))->tree.color)
 
56
#define XmTreeC_background_color(c) (((XmTreeConstraintPtr)(c))->tree.background_color)
 
57
#define XmTreeC_line_width(c) (((XmTreeConstraintPtr)(c))->tree.line_width)
 
58
#define XmTreeC_line_style(c) (((XmTreeConstraintPtr)(c))->tree.line_style)
 
59
#define XmTreeC_gc(c) (((XmTreeConstraintPtr)(c))->tree.gc)
 
60
#define XmTreeC_new_x(c) (((XmTreeConstraintPtr)(c))->tree.new_x)
 
61
#define XmTreeC_new_y(c) (((XmTreeConstraintPtr)(c))->tree.new_y)
 
62
#define XmTreeC_oc_new_x(c) (((XmTreeConstraintPtr)(c))->tree.oc_new_x)
 
63
#define XmTreeC_oc_new_y(c) (((XmTreeConstraintPtr)(c))->tree.oc_new_y)
 
64
#define XmTreeC_map(c) (((XmTreeConstraintPtr)(c))->tree.map)
 
65
#define XmTreeC_unmap(c) (((XmTreeConstraintPtr)(c))->tree.unmap)
 
66
#define XmTreeC_move(c) (((XmTreeConstraintPtr)(c))->tree.move)
 
67
#define XmTreeC_is_compressed(c) (((XmTreeConstraintPtr)(c))->tree.is_compressed)
 
68
 
 
69
/************************************************************
 
70
*       GLOBAL DECLARATIONS
 
71
*************************************************************/
 
72
 
 
73
typedef struct {
 
74
    XtPointer extension;        /* Just in case we need it later. */
 
75
} TreeClassPart;
 
76
 
 
77
typedef struct _XmTreeClassRec {
 
78
    CoreClassPart               core_class;
 
79
    CompositeClassPart          composite_class;
 
80
    ConstraintClassPart         constraint_class;
 
81
    XmManagerClassPart          manager_class;
 
82
    HierarchyClassPart          hierarchy_class;
 
83
    TreeClassPart               tree_class;
 
84
} XmTreeClassRec;
 
85
externalref  XmTreeClassRec xmTreeClassRec;
 
86
 
 
87
typedef struct _TreeNodeInfo {
 
88
    /*
 
89
     * Public (Resource) data.
 
90
     */
 
91
 
 
92
    int open_close_padding;     /* Number of pixels to leave between o/c button
 
93
                                   and node button (can be negative). */
 
94
 
 
95
    /*
 
96
     * Private data.
 
97
     */
 
98
 
 
99
    Position box_x, box_y;
 
100
    Dimension bb_width, bb_height; /*Bounding box for myself and my children*/
 
101
    Dimension widget_offset;    /* Amount of space to leave for the open
 
102
                                   close button to the left of the node.*/
 
103
    Boolean placed;
 
104
 
 
105
    Pixel color;                /* color to draw line in. */
 
106
    int line_width;
 
107
 
 
108
    GC gc;
 
109
 
 
110
    Position new_x, new_y, oc_new_x, oc_new_y;
 
111
    Boolean map, unmap, move;
 
112
    Boolean is_compressed;  /* for space compression, is this node moved? */
 
113
 
 
114
    /* more resources */
 
115
    int line_style;
 
116
    Pixel background_color;             /* color to draw line in. */
 
117
} TreeNodeInfo;
 
118
 
 
119
typedef struct _TreeConstraintRec {
 
120
    XmManagerConstraintPart manager;
 
121
    HierNodeInfo        hierarchy;
 
122
    TreeNodeInfo        tree;
 
123
} XmTreeConstraintRec, TreeConstraintRec, *TreeConstraints, *XmTreeConstraintPtr;
 
124
 
 
125
 
 
126
typedef struct _TreePart {
 
127
    /* Resources */
 
128
 
 
129
    Dimension h_node_space, v_node_space; /* Space between various nodes. */
 
130
 
 
131
    XmTreeConnectStyle connect_style; /* The connection style. */
 
132
 
 
133
 
 
134
    /* Private State */
 
135
 
 
136
    Dimension max_width;        /* Our new desired width. */
 
137
    Dimension max_height;       /* Our new desired height. */
 
138
    
 
139
    XmList child_op_list;               /* List of child operations */
 
140
    XPoint ul_point, lr_point;  /* Bounding box for exposure compression. */
 
141
 
 
142
    /* more resources */
 
143
    unsigned char orientation;     /* XmHORIZONTAL or XmVERTICAL */
 
144
 
 
145
    XmTreeCompressStyle compress_style;  /* how to do space compression */
 
146
 
 
147
    Dimension vertical_delta; /* if doing space compression, how many pixels */
 
148
                              /* to offset alternating siblings vertically */
 
149
    Dimension horizontal_delta;  /* or horizontally */
 
150
} TreePart;
 
151
 
 
152
typedef struct _XmTreeRec {
 
153
    CorePart            core;
 
154
    CompositePart       composite;
 
155
    ConstraintPart      constraint;
 
156
    XmManagerPart       manager;
 
157
    HierarchyPart       hierarchy;
 
158
    TreePart            tree;
 
159
} XmTreeRec;
 
160
 
 
161
/*
 
162
 * Typedefs to conform to the XmField macro's naming convention
 
163
 */
 
164
typedef TreePart XmTreePart;
 
165
typedef TreeNodeInfo XmTreeConstraintPart;
 
166
 
 
167
/************************************************************
 
168
*       EXTERNAL DECLARATIONS
 
169
*************************************************************/
 
170
 
 
171
extern XmTreeClassRec   xmTreeClassRec;
 
172
 
 
173
/************************************************************
 
174
*       STATIC DECLARATIONS
 
175
*************************************************************/
 
176
 
 
177
#ifdef __cplusplus
 
178
}       /* Closes scope of 'extern "C"' declaration */
 
179
#endif
 
180
 
 
181
#if defined(VMS) || defined(__VMS)
 
182
#include <X11/apienvrst.h>
 
183
#endif
 
184
 
 
185
#endif /* _TreeP_h */
 
186
 
 
187
 
 
188
 
 
189
 
 
190
 
 
191