Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
proview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Esteban Blanc
proview
Commits
3dcb3683
Commit
3dcb3683
authored
Dec 06, 2005
by
claes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Attribute name window displayed permanently
parent
3b326828
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
272 additions
and
62 deletions
+272
-62
xtt/lib/ge/src/ge_curve.cpp
xtt/lib/ge/src/ge_curve.cpp
+261
-61
xtt/lib/ge/src/ge_curve.h
xtt/lib/ge/src/ge_curve.h
+11
-1
No files found.
xtt/lib/ge/src/ge_curve.cpp
View file @
3dcb3683
/*
* Proview $Id: ge_curve.cpp,v 1.
8 2005-11-17 09:03:20
claes Exp $
* Proview $Id: ge_curve.cpp,v 1.
9 2005-12-06 10:45:12
claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
...
...
@@ -66,6 +66,8 @@ extern "C" {
#include "ge_curve.h"
#include "ge_msg.h"
#define MARK_WIDTH 2.0
static
void
gec_activate_exit
(
Widget
w
,
GeCurve
*
curve
,
XmAnyCallbackStruct
*
data
)
{
if
(
curve
->
close_cb
)
...
...
@@ -126,35 +128,6 @@ static void gec_activate_background( Widget w, GeCurve *curve, XmAnyCallbackStru
static
void
gec_activate_showname
(
Widget
w
,
GeCurve
*
curve
,
XmToggleButtonCallbackStruct
*
data
)
{
if
(
data
->
set
)
{
Arg
args
[
2
];
short
width
;
width
=
200
;
XtSetArg
(
args
[
0
],
XmNwidth
,
width
+
4
);
XtSetValues
(
curve
->
axisform_widget
,
args
,
1
);
curve
->
axis_displayed
=
0
;
XtManageChild
(
curve
->
grownames_main_widget
);
XtUnmanageChild
(
curve
->
growaxis_main_widget
);
}
else
{
double
zoom_x
,
zoom_y
;
short
width
;
Arg
args
[
2
];
curve_GetZoom
(
curve
->
growcurve_ctx
,
&
zoom_x
,
&
zoom_y
);
width
=
short
(
zoom_y
*
curve
->
axis_window_width
);
XtSetArg
(
args
[
0
],
XmNwidth
,
width
+
4
);
XtSetValues
(
curve
->
axisform_widget
,
args
,
1
);
curve
->
axis_displayed
=
1
;
XtManageChild
(
curve
->
growaxis_main_widget
);
XtUnmanageChild
(
curve
->
grownames_main_widget
);
}
}
static
void
gec_activate_filledcurves
(
Widget
w
,
GeCurve
*
curve
,
...
...
@@ -202,6 +175,11 @@ static void gec_create_growform( Widget w, GeCurve *curve, XmAnyCallbackStruct *
curve
->
axisform_widget
=
w
;
}
static
void
gec_create_nameform
(
Widget
w
,
GeCurve
*
curve
,
XmAnyCallbackStruct
*
data
)
{
curve
->
nameform_widget
=
w
;
}
static
void
gec_create_curveform
(
Widget
w
,
GeCurve
*
curve
,
XmAnyCallbackStruct
*
data
)
{
curve
->
curveform_widget
=
w
;
...
...
@@ -262,12 +240,83 @@ static int ge_growcurve_cb( GlowCtx *ctx, glow_tEvent event)
grow_GetCtxUserData
(
(
GrowCtx
*
)
ctx
,
(
void
**
)
&
curve
);
switch
(
event
->
event
)
{
switch
(
event
->
event
)
{
case
glow_eEvent_MB1Click
:
printf
(
"GrowCurve callback MB1
\n
"
);
break
;
case
glow_eEvent_SliderMoveStart
:
{
printf
(
"Slider start
\n
"
);
if
(
event
->
object
.
object_type
==
glow_eObjectType_NoObject
)
grow_SetMoveRestrictions
(
(
GrowCtx
*
)
ctx
,
glow_eMoveRestriction_Disable
,
0
,
0
,
NULL
);
else
grow_SetMoveRestrictions
(
(
GrowCtx
*
)
ctx
,
glow_eMoveRestriction_HorizontalSlider
,
200
-
MARK_WIDTH
/
2
,
-
MARK_WIDTH
/
2
,
curve
->
curve_markobject
);
break
;
}
case
glow_eEvent_SliderMoved
:
{
char
str
[
40
];
int
row
;
double
ll_x
,
ll_y
,
ur_x
,
ur_y
;
double
time
;
grow_MeasureNode
(
curve
->
curve_markobject
,
&
ll_x
,
&
ll_y
,
&
ur_x
,
&
ur_y
);
curve
->
last_mark_x
=
event
->
any
.
x
;
if
(
!
curve
->
cd
->
x_reverse
)
time
=
event
->
any
.
x
*
(
curve
->
cd
->
max_value_axis
[
0
]
-
curve
->
cd
->
min_value_axis
[
0
])
/
200
;
else
time
=
(
200.0
-
event
->
any
.
x
)
*
(
curve
->
cd
->
max_value_axis
[
0
]
-
curve
->
cd
->
min_value_axis
[
0
])
/
200
;
row
=
int
((
time
-
curve
->
cd
->
min_value
[
0
])
/
(
curve
->
cd
->
max_value
[
0
]
-
curve
->
cd
->
min_value
[
0
])
*
(
curve
->
cd
->
rows
-
1
)
+
0.5
);
if
(
row
>
curve
->
cd
->
rows
-
1
)
row
=
curve
->
cd
->
rows
-
1
;
if
(
row
<
0
)
row
=
0
;
for
(
int
i
=
1
;
i
<
curve
->
cd
->
cols
;
i
++
)
{
sprintf
(
str
,
"%7.2f"
,
curve
->
cd
->
data
[
i
][
row
]);
grow_SetAnnotation
(
curve
->
mark_annot
[
i
],
0
,
str
,
strlen
(
str
));
}
sprintf
(
str
,
"%7.2f"
,
curve
->
cd
->
data
[
0
][
row
]);
grow_SetAnnotation
(
curve
->
mark_annot
[
0
],
0
,
str
,
strlen
(
str
));
break
;
}
case
glow_eEvent_CursorMotion
:
{
char
str
[
40
];
int
row
;
double
time
;
curve
->
last_cursor_x
=
event
->
any
.
x
;
if
(
!
curve
->
cd
->
x_reverse
)
time
=
event
->
any
.
x
*
(
curve
->
cd
->
max_value_axis
[
0
]
-
curve
->
cd
->
min_value_axis
[
0
])
/
200
;
else
time
=
(
200.0
-
event
->
any
.
x
)
*
(
curve
->
cd
->
max_value_axis
[
0
]
-
curve
->
cd
->
min_value_axis
[
0
])
/
200
;
row
=
int
((
time
-
curve
->
cd
->
min_value
[
0
])
/
(
curve
->
cd
->
max_value
[
0
]
-
curve
->
cd
->
min_value
[
0
])
*
(
curve
->
cd
->
rows
-
1
)
+
0.5
);
if
(
row
>
curve
->
cd
->
rows
-
1
)
row
=
curve
->
cd
->
rows
-
1
;
if
(
row
<
0
)
row
=
0
;
for
(
int
i
=
1
;
i
<
curve
->
cd
->
cols
;
i
++
)
{
sprintf
(
str
,
"%7.2f"
,
curve
->
cd
->
data
[
i
][
row
]);
grow_SetAnnotation
(
curve
->
cursor_annot
[
i
],
0
,
str
,
strlen
(
str
));
}
sprintf
(
str
,
"%7.2f"
,
curve
->
cd
->
data
[
0
][
row
]);
grow_SetAnnotation
(
curve
->
cursor_annot
[
0
],
0
,
str
,
strlen
(
str
));
break
;
}
default:
;
}
...
...
@@ -286,6 +335,8 @@ static int ge_init_growcurve_cb( GlowCtx *fctx, void *client_data)
mask
|=
grow_eAttr_grid_on
;
grow_attr
.
grid_on
=
0
;
mask
|=
grow_eAttr_double_buffer_on
;
grow_attr
.
default_hot_mode
=
glow_eHotMode_TraceAction
;
mask
|=
grow_eAttr_default_hot_mode
;
grow_attr
.
double_buffer_on
=
1
;
if
(
curve
->
initial_right_position
)
{
mask
|=
grow_eAttr_initial_position
;
...
...
@@ -295,9 +346,18 @@ static int ge_init_growcurve_cb( GlowCtx *fctx, void *client_data)
grow_SetCtxUserData
(
curve
->
growcurve_ctx
,
curve
);
grow_SetMoveRestrictions
(
curve
->
growcurve_ctx
,
glow_eMoveRestriction_Disable
,
0
,
0
,
NULL
);
grow_EnableEvent
(
(
GrowCtx
*
)
curve
->
growcurve_ctx
,
glow_eEvent_MB1Click
,
glow_eEventType_CallBack
,
ge_growcurve_cb
);
grow_EnableEvent
(
(
GrowCtx
*
)
curve
->
growcurve_ctx
,
glow_eEvent_CursorMotion
,
glow_eEventType_CallBack
,
ge_growcurve_cb
);
grow_EnableEvent
(
(
GrowCtx
*
)
curve
->
growcurve_ctx
,
glow_eEvent_SliderMoved
,
glow_eEventType_CallBack
,
ge_growcurve_cb
);
grow_EnableEvent
(
(
GrowCtx
*
)
curve
->
growcurve_ctx
,
glow_eEvent_SliderMoveStart
,
glow_eEventType_CallBack
,
ge_growcurve_cb
);
grow_EnableEvent
(
(
GrowCtx
*
)
curve
->
growcurve_ctx
,
glow_eEvent_MB1Press
,
glow_eEventType_MoveNode
,
ge_growcurve_cb
);
grow_CreateGrowCurve
(
curve
->
growcurve_ctx
,
"curve"
,
NULL
,
0
,
0
,
200
,
30
,
curve
->
curve_border
,
2
,
glow_mDisplayLevel_1
,
1
,
1
,
...
...
@@ -307,7 +367,25 @@ static int ge_init_growcurve_cb( GlowCtx *fctx, void *client_data)
glow_eDrawType_TextHelvetica
,
curve
,
&
curve
->
curve_axisobject
);
grow_tNodeClass
nc
;
grow_CreateNodeClass
(
curve
->
growcurve_ctx
,
"MarkNc"
,
glow_eNodeGroup_Common
,
&
nc
);
grow_AddLine
(
nc
,
""
,
0
,
0
,
0
,
32
,
glow_eDrawType_LineGray
,
1
,
0
,
NULL
);
grow_AddRect
(
nc
,
""
,
-
MARK_WIDTH
/
2
,
30.1
,
MARK_WIDTH
,
1.8
,
glow_eDrawType_LineGray
,
1
,
0
,
glow_mDisplayLevel_1
,
0
,
0
,
1
,
glow_eDrawType_Color33
,
NULL
);
glow_sPoint
p1
[
3
]
=
{
-
0.1
,
30.3
,
{
-
MARK_WIDTH
/
2
+
0.1
,
31
},{
-
0.1
,
31.7
}};
grow_AddPolyLine
(
nc
,
""
,
p1
,
3
,
glow_eDrawType_Line
,
1
,
0
,
1
,
0
,
1
,
glow_eDrawType_Color38
,
1
,
0
);
glow_sPoint
p2
[
3
]
=
{
0.1
,
30.3
,
{
MARK_WIDTH
/
2
-
0.1
,
31
},{
0.1
,
31.7
}};
grow_AddPolyLine
(
nc
,
""
,
p2
,
3
,
glow_eDrawType_Line
,
1
,
0
,
1
,
0
,
1
,
glow_eDrawType_Color38
,
1
,
0
);
grow_CreateGrowSlider
(
curve
->
growcurve_ctx
,
""
,
nc
,
1
,
0
,
NULL
,
&
curve
->
curve_markobject
);
grow_SetSliderInfo
(
curve
->
curve_markobject
,
glow_eDirection_Right
,
200
,
0
,
200
,
0
);
// grow_SetMode( curve->growcurve_ctx, grow_eMode_Edit);
curve
->
configure_curves
();
return
1
;
}
...
...
@@ -414,8 +492,7 @@ static int ge_grownames_cb( GlowCtx *ctx, glow_tEvent event)
if
(
event
->
object
.
object_type
!=
glow_eObjectType_NoObject
)
{
for
(
int
i
=
0
;
i
<
curve
->
cd
->
cols
;
i
++
)
{
if
(
event
->
object
.
object
==
curve
->
name_rect
[
i
]
||
event
->
object
.
object
==
curve
->
hide_rect
[
i
]
)
{
if
(
event
->
object
.
object
==
curve
->
hide_rect
[
i
]
)
{
if
(
curve
->
hide
[
i
])
{
// Check max number of curves
int
num
=
0
;
...
...
@@ -431,10 +508,11 @@ static int ge_grownames_cb( GlowCtx *ctx, glow_tEvent event)
}
curve
->
hide
[
i
]
=
!
curve
->
hide
[
i
];
if
(
curve
->
hide
[
i
])
color
=
curve
->
cd
->
color
[
i
]
;
color
=
glow_eDrawType_LineErase
;
else
color
=
glow_eDrawType_Line
;
grow_SetObjectFillColor
(
curve
->
hide_rect
[
i
],
color
);
grow_SetObjectBorderColor
(
curve
->
hide_l1
[
i
],
color
);
grow_SetObjectBorderColor
(
curve
->
hide_l2
[
i
],
color
);
if
(
curve
->
auto_refresh
)
{
curve
->
configure_curves
();
...
...
@@ -442,10 +520,27 @@ static int ge_grownames_cb( GlowCtx *ctx, glow_tEvent event)
}
break
;
}
if
(
event
->
object
.
object
==
curve
->
scale_rect
[
i
]
)
{
char
value_str
[
40
];
sprintf
(
value_str
,
"%f"
,
curve
->
cd
->
min_value_axis
[
i
]);
XmTextSetString
(
curve
->
minmax_textmin_widget
,
value_str
);
sprintf
(
value_str
,
"%f"
,
curve
->
cd
->
max_value_axis
[
i
]);
XmTextSetString
(
curve
->
minmax_textmax_widget
,
value_str
);
curve
->
minmax_idx
=
i
;
XtManageChild
(
curve
->
minmax_widget
);
break
;
}
}
}
break
;
}
case
glow_eEvent_HotRequest
:
return
0
;
case
glow_eEvent_Resized
:
{
printf
(
"GrowNames callback Resized
\n
"
);
...
...
@@ -522,24 +617,113 @@ static int ge_init_grownames_cb( GlowCtx *fctx, void *client_data)
glow_eEventType_CallBack
,
ge_grownames_cb
);
grow_EnableEvent
(
(
GrowCtx
*
)
curve
->
grownames_ctx
,
glow_eEvent_Resized
,
glow_eEventType_CallBack
,
ge_grownames_cb
);
grow_EnableEvent
(
(
GrowCtx
*
)
curve
->
grownames_ctx
,
glow_eEvent_HotRequest
,
glow_eEventType_CallBack
,
ge_grownames_cb
);
// Create nodeclass for mark values
grow_tNodeClass
nc
;
grow_CreateNodeClass
(
curve
->
grownames_ctx
,
"MarkVal"
,
glow_eNodeGroup_Common
,
&
nc
);
grow_AddRect
(
nc
,
""
,
0
,
0
,
3
,
0.75
,
glow_eDrawType_LineGray
,
1
,
0
,
glow_mDisplayLevel_1
,
0
,
0
,
0
,
glow_eDrawType_Line
,
NULL
);
grow_AddAnnot
(
nc
,
0.2
,
0.7
,
0
,
glow_eDrawType_TextHelvetica
,
glow_eDrawType_Line
,
2
,
glow_eAnnotType_OneLine
,
0
,
glow_mDisplayLevel_1
,
NULL
);
// Draw header
grow_tObject
o1
;
grow_CreateGrowLine
(
curve
->
grownames_ctx
,
""
,
0
,
0.75
,
60
,
0.75
,
glow_eDrawType_Color34
,
2
,
0
,
NULL
,
&
o1
);
grow_CreateGrowRect
(
curve
->
grownames_ctx
,
""
,
0
,
0
,
60
,
0.8
,
glow_eDrawType_Line
,
1
,
0
,
glow_mDisplayLevel_1
,
0
,
0
,
1
,
glow_eDrawType_Color32
,
NULL
,
&
o1
);
grow_CreateGrowText
(
curve
->
grownames_ctx
,
""
,
"View"
,
0.8
,
0.6
,
glow_eDrawType_TextHelvetica
,
glow_eDrawType_Line
,
2
,
glow_mDisplayLevel_1
,
NULL
,
&
o1
);
grow_CreateGrowText
(
curve
->
grownames_ctx
,
""
,
"Cursor"
,
3
,
0.6
,
glow_eDrawType_TextHelvetica
,
glow_eDrawType_Line
,
2
,
glow_mDisplayLevel_1
,
NULL
,
&
o1
);
grow_CreateGrowText
(
curve
->
grownames_ctx
,
""
,
"Mark"
,
5.7
,
0.6
,
glow_eDrawType_TextHelvetica
,
glow_eDrawType_Line
,
2
,
glow_mDisplayLevel_1
,
NULL
,
&
o1
);
grow_CreateGrowText
(
curve
->
grownames_ctx
,
""
,
"Unit"
,
9.0
,
0.6
,
glow_eDrawType_TextHelvetica
,
glow_eDrawType_Line
,
2
,
glow_mDisplayLevel_1
,
NULL
,
&
o1
);
grow_CreateGrowText
(
curve
->
grownames_ctx
,
""
,
"Scale"
,
11
,
0.6
,
glow_eDrawType_TextHelvetica
,
glow_eDrawType_Line
,
2
,
glow_mDisplayLevel_1
,
NULL
,
&
o1
);
grow_CreateGrowText
(
curve
->
grownames_ctx
,
""
,
"Attribute"
,
14
,
0.6
,
glow_eDrawType_TextHelvetica
,
glow_eDrawType_Line
,
2
,
glow_mDisplayLevel_1
,
NULL
,
&
o1
);
for
(
int
i
=
1
;
i
<
curve
->
cd
->
cols
;
i
++
)
{
grow_CreateGrowRect
(
curve
->
grownames_ctx
,
""
,
0
,
(
i
-
1
),
1
,
1
,
// Draw shadowed frame
grow_CreateGrowRect
(
curve
->
grownames_ctx
,
""
,
0
,
(
i
-
0.2
),
60
,
1
,
glow_eDrawType_Line
,
1
,
0
,
glow_mDisplayLevel_1
,
0
,
0
,
1
,
glow_eDrawType_Color32
,
NULL
,
&
o1
);
// Draw color rectangle
grow_CreateGrowRect
(
curve
->
grownames_ctx
,
""
,
0.25
,
(
i
-
0.2
)
+
0.3
,
0.75
,
0.5
,
glow_eDrawType_Line
,
1
,
0
,
glow_mDisplayLevel_1
,
1
,
1
,
1
,
curve
->
cd
->
color
[
i
],
NULL
,
&
curve
->
name_rect
[
i
]);
if
(
curve
->
hide
[
i
])
color
=
curve
->
cd
->
color
[
i
]
;
color
=
glow_eDrawType_LineErase
;
else
color
=
glow_eDrawType_Line
;
grow_CreateGrowRect
(
curve
->
grownames_ctx
,
""
,
0.25
,
(
i
-
1
)
+
0.25
,
0.5
,
0.5
,
glow_eDrawType_Line
,
1
,
0
,
glow_mDisplayLevel_1
,
1
,
0
,
0
,
color
,
NULL
,
&
curve
->
hide_rect
[
i
]);
// Draw checkbox for hide
grow_CreateGrowLine
(
curve
->
grownames_ctx
,
""
,
1.4
,
(
i
-
0.2
)
+
0.45
,
1.52
,
(
i
-
0.2
)
+
0.75
,
color
,
2
,
0
,
NULL
,
&
curve
->
hide_l1
[
i
]);
grow_CreateGrowLine
(
curve
->
grownames_ctx
,
""
,
1.50
,
(
i
-
0.2
)
+
0.75
,
1.77
,
(
i
-
0.2
)
+
0.35
,
color
,
2
,
0
,
NULL
,
&
curve
->
hide_l2
[
i
]);
grow_CreateGrowRect
(
curve
->
grownames_ctx
,
""
,
1.3
,
(
i
-
0.2
)
+
0.3
,
0.5
,
0.5
,
glow_eDrawType_Line
,
1
,
0
,
glow_mDisplayLevel_1
,
0
,
1
,
1
,
glow_eDrawType_Color32
,
NULL
,
&
curve
->
hide_rect
[
i
]);
// Draw nodes for mark and cursor values
grow_CreateGrowNode
(
curve
->
grownames_ctx
,
""
,
nc
,
2.2
,
(
i
-
0.2
)
+
0.05
,
NULL
,
&
curve
->
cursor_annot
[
i
]);
grow_CreateGrowNode
(
curve
->
grownames_ctx
,
""
,
nc
,
5.4
,
(
i
-
0.2
)
+
0.05
,
NULL
,
&
curve
->
mark_annot
[
i
]);
// Draw unit
grow_CreateGrowText
(
curve
->
grownames_ctx
,
""
,
"km/h"
/* curve->cd->unit[i]*/
,
9.0
,
(
i
-
0.2
)
+
0.75
,
glow_eDrawType_TextHelvetica
,
glow_eDrawType_Line
,
2
,
glow_mDisplayLevel_1
,
NULL
,
&
t1
);
// Draw button for scale
grow_CreateGrowRect
(
curve
->
grownames_ctx
,
""
,
11
,
(
i
-
0.2
)
+
0.1
,
1.2
,
0.7
,
glow_eDrawType_Line
,
1
,
0
,
glow_mDisplayLevel_1
,
1
,
1
,
1
,
glow_eDrawType_Color33
,
NULL
,
&
curve
->
scale_rect
[
i
]);
grow_SetObjectShadowWidth
(
curve
->
scale_rect
[
i
],
20
);
// Draw attribute name
grow_CreateGrowText
(
curve
->
grownames_ctx
,
""
,
curve
->
cd
->
name
[
i
],
1
.3
,
(
i
-
1
)
+
0.8
5
,
glow_eDrawType_TextHelveticaBold
,
1
4.0
,
(
i
-
0.2
)
+
0.7
5
,
glow_eDrawType_TextHelveticaBold
,
glow_eDrawType_Line
,
2
,
glow_mDisplayLevel_1
,
NULL
,
&
t1
);
}
grow_SetAnnotation
(
curve
->
cursor_annot
[
i
],
0
,
"0"
,
1
);
grow_SetAnnotation
(
curve
->
mark_annot
[
i
],
0
,
"0"
,
1
);
}
// Draw nodes for time values
// Draw shadowed frame
grow_CreateGrowRect
(
curve
->
grownames_ctx
,
""
,
0
,
(
curve
->
cd
->
cols
-
0.2
),
60
,
1
,
glow_eDrawType_Line
,
1
,
0
,
glow_mDisplayLevel_1
,
0
,
0
,
1
,
glow_eDrawType_Color32
,
NULL
,
&
o1
);
grow_CreateGrowNode
(
curve
->
grownames_ctx
,
""
,
nc
,
2.2
,
(
curve
->
cd
->
cols
-
0.2
)
+
0.05
,
NULL
,
&
curve
->
cursor_annot
[
0
]);
grow_CreateGrowNode
(
curve
->
grownames_ctx
,
""
,
nc
,
5.4
,
(
curve
->
cd
->
cols
-
0.2
)
+
0.05
,
NULL
,
&
curve
->
mark_annot
[
0
]);
// Draw unit
grow_CreateGrowText
(
curve
->
grownames_ctx
,
""
,
"s"
,
9.0
,
(
curve
->
cd
->
cols
-
0.2
)
+
0.75
,
glow_eDrawType_TextHelvetica
,
glow_eDrawType_Line
,
2
,
glow_mDisplayLevel_1
,
NULL
,
&
t1
);
// Draw button for scale
grow_CreateGrowRect
(
curve
->
grownames_ctx
,
""
,
11
,
(
curve
->
cd
->
cols
-
0.2
)
+
0.1
,
1.2
,
0.7
,
glow_eDrawType_Line
,
1
,
0
,
glow_mDisplayLevel_1
,
1
,
1
,
1
,
glow_eDrawType_Color33
,
NULL
,
&
curve
->
scale_rect
[
0
]);
grow_SetObjectShadowWidth
(
curve
->
scale_rect
[
0
],
20
);
// Draw attribute name
grow_CreateGrowText
(
curve
->
grownames_ctx
,
""
,
"Time axis"
,
14.0
,
(
curve
->
cd
->
cols
-
0.2
)
+
0.75
,
glow_eDrawType_TextHelveticaBold
,
glow_eDrawType_Line
,
2
,
glow_mDisplayLevel_1
,
NULL
,
&
t1
);
grow_SetAnnotation
(
curve
->
cursor_annot
[
0
],
0
,
"0"
,
1
);
grow_SetAnnotation
(
curve
->
mark_annot
[
0
],
0
,
"0"
,
1
);
return
1
;
}
...
...
@@ -765,6 +949,16 @@ void GeCurve::points_added()
gcd
.
x_reverse
=
cd
->
x_reverse
;
grow_CurveAddPoints
(
curve_object
,
&
gcd
);
// Simulate cursormotion and slidermoved event to update markvalues
glow_sEvent
e
;
e
.
any
.
event
=
glow_eEvent_CursorMotion
;
e
.
any
.
x
=
last_cursor_x
;
ge_growcurve_cb
(
growcurve_ctx
,
&
e
);
e
.
any
.
event
=
glow_eEvent_SliderMoved
;
e
.
any
.
x
=
last_mark_x
;
ge_growcurve_cb
(
growcurve_ctx
,
&
e
);
}
int
GeCurve
::
read_file
(
char
*
filename
)
...
...
@@ -900,7 +1094,8 @@ GeCurve::GeCurve( void *gc_parent_ctx,
border_dark
(
glow_eDrawType_Color28
),
border_bright
(
glow_eDrawType_Color22
),
cd
(
0
),
axis_window_width
(
0
),
auto_refresh
(
1
),
axis_displayed
(
1
),
minmax_idx
(
0
),
close_cb
(
0
),
help_cb
(
0
),
initial_right_position
(
pos_right
)
minmax_idx
(
0
),
close_cb
(
0
),
help_cb
(
0
),
initial_right_position
(
pos_right
),
last_cursor_x
(
0
),
last_mark_x
(
0
)
{
char
uid_filename
[
120
]
=
{
"xtt_curve.uid"
};
char
*
uid_filename_p
=
uid_filename
;
...
...
@@ -927,6 +1122,7 @@ GeCurve::GeCurve( void *gc_parent_ctx,
{
"gec_activate_help"
,(
caddr_t
)
gec_activate_help
},
{
"gec_create_pane"
,(
caddr_t
)
gec_create_pane
},
{
"gec_create_growform"
,(
caddr_t
)
gec_create_growform
},
{
"gec_create_nameform"
,(
caddr_t
)
gec_create_nameform
},
{
"gec_create_curveform"
,(
caddr_t
)
gec_create_curveform
},
{
"gec_create_minmax_textmin"
,(
caddr_t
)
gec_create_minmax_textmin
},
{
"gec_create_minmax_textmax"
,(
caddr_t
)
gec_create_minmax_textmax
},
...
...
@@ -940,6 +1136,11 @@ GeCurve::GeCurve( void *gc_parent_ctx,
memset
(
hide
,
0
,
sizeof
(
hide
));
memset
(
name_rect
,
0
,
sizeof
(
name_rect
));
memset
(
hide_rect
,
0
,
sizeof
(
hide_rect
));
memset
(
scale_rect
,
0
,
sizeof
(
scale_rect
));
memset
(
hide_l1
,
0
,
sizeof
(
hide_l1
));
memset
(
hide_l2
,
0
,
sizeof
(
hide_l2
));
memset
(
mark_annot
,
0
,
sizeof
(
cursor_annot
));
memset
(
mark_annot
,
0
,
sizeof
(
mark_annot
));
curve_color
=
background_dark
;
curve_border
=
border_dark
;
for
(
i
=
TREND_MAX_CURVES
;
i
<
CURVE_MAX_COLS
;
i
++
)
...
...
@@ -994,17 +1195,8 @@ GeCurve::GeCurve( void *gc_parent_ctx,
XtManageChild
(
ge_curve_widget
);
growaxis_main_widget
=
GrowCreate
(
axisform_widget
,
"GeCurveAxis"
,
NULL
,
0
,
ge_init_growaxis_cb
,
this
);
i
=
0
;
XtSetArg
(
args
[
i
],
XmNwidth
,
200
);
i
++
;
XtSetValues
(
growaxis_main_widget
,
args
,
i
);
XtManageChild
(
growaxis_main_widget
);
Widget
w
;
grownames_main_widget
=
ScrolledGrowCreate
(
axis
form_widget
,
grownames_main_widget
=
ScrolledGrowCreate
(
name
form_widget
,
"GeCurveNames"
,
NULL
,
0
,
ge_init_grownames_cb
,
this
,
&
w
);
i
=
0
;
...
...
@@ -1013,6 +1205,15 @@ GeCurve::GeCurve( void *gc_parent_ctx,
XtManageChild
(
grownames_main_widget
);
growaxis_main_widget
=
GrowCreate
(
axisform_widget
,
"GeCurveAxis"
,
NULL
,
0
,
ge_init_growaxis_cb
,
this
);
i
=
0
;
XtSetArg
(
args
[
i
],
XmNwidth
,
200
);
i
++
;
XtSetValues
(
growaxis_main_widget
,
args
,
i
);
XtManageChild
(
growaxis_main_widget
);
growcurve_main_widget
=
CurveCreate
(
curveform_widget
,
"GeCurve"
,
NULL
,
0
,
ge_init_growcurve_cb
,
this
);
...
...
@@ -1030,8 +1231,6 @@ GeCurve::GeCurve( void *gc_parent_ctx,
XtPopup
(
toplevel
,
XtGrabNone
);
XtRealizeWidget
(
toplevel
);
XtUnmanageChild
(
grownames_main_widget
);
// Connect the window manager close-button to exit
flow_AddCloseVMProtocolCb
(
toplevel
,
(
XtCallbackProc
)
gec_activate_exit
,
this
);
...
...
@@ -1043,6 +1242,7 @@ GeCurveData::GeCurveData( curve_eDataType datatype) :
{
memset
(
data
,
0
,
sizeof
(
data
));
for
(
int
i
=
0
;
i
<
CURVE_MAX_COLS
;
i
++
)
{
strcpy
(
unit
[
i
],
""
);
max_value
[
i
]
=
0
;
min_value
[
i
]
=
0
;
min_value_axis
[
i
]
=
0
;
...
...
xtt/lib/ge/src/ge_curve.h
View file @
3dcb3683
/*
* Proview $Id: ge_curve.h,v 1.
7 2005-11-17 09:03:20
claes Exp $
* Proview $Id: ge_curve.h,v 1.
8 2005-12-06 10:45:12
claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
...
...
@@ -57,6 +57,7 @@ class GeCurveData {
int
rows
;
int
cols
;
pwr_tAName
name
[
CURVE_MAX_COLS
];
char
unit
[
CURVE_MAX_COLS
][
16
];
double
*
data
[
CURVE_MAX_COLS
];
double
max_value
[
CURVE_MAX_COLS
];
double
min_value
[
CURVE_MAX_COLS
];
...
...
@@ -100,6 +101,7 @@ class GeCurve {
Widget
grow_widget
;
Widget
curve_widget
;
Widget
axisform_widget
;
Widget
nameform_widget
;
Widget
curveform_widget
;
Widget
pane_widget
;
Widget
toplevel
;
...
...
@@ -121,11 +123,17 @@ class GeCurve {
glow_eDrawType
border_bright
;
grow_tObject
curve_object
;
grow_tObject
curve_axisobject
;
grow_tObject
curve_markobject
;
GeCurveData
*
cd
;
double
axis_window_width
;
int
hide
[
CURVE_MAX_COLS
];
grow_tObject
name_rect
[
CURVE_MAX_COLS
];
grow_tObject
hide_rect
[
CURVE_MAX_COLS
];
grow_tObject
hide_l1
[
CURVE_MAX_COLS
];
grow_tObject
hide_l2
[
CURVE_MAX_COLS
];
grow_tObject
scale_rect
[
CURVE_MAX_COLS
];
grow_tObject
mark_annot
[
CURVE_MAX_COLS
];
grow_tObject
cursor_annot
[
CURVE_MAX_COLS
];
grow_tObject
axis_rect
[
CURVE_MAX_COLS
];
grow_tObject
axis_object
[
CURVE_MAX_COLS
];
grow_tObject
axis_lineobject
;
...
...
@@ -136,6 +144,8 @@ class GeCurve {
void
(
*
help_cb
)(
void
*
);
int
initial_right_position
;
char
title
[
300
];
double
last_cursor_x
;
double
last_mark_x
;
int
read_file
(
char
*
filename
);
int
configure_curves
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment