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
ed3f964c
Commit
ed3f964c
authored
Apr 29, 2011
by
Claes Sjofors
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Ge axis arc added
parent
fee04a8e
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1200 additions
and
6 deletions
+1200
-6
src/changelog.txt
src/changelog.txt
+2
-0
xtt/lib/ge/src/ge_bitmap_axisarc250.h
xtt/lib/ge/src/ge_bitmap_axisarc250.h
+6
-0
xtt/lib/ge/src/ge_graph.cpp
xtt/lib/ge/src/ge_graph.cpp
+42
-0
xtt/lib/ge/src/ge_graph.h
xtt/lib/ge/src/ge_graph.h
+1
-0
xtt/lib/ge/src/ge_subpalette.cpp
xtt/lib/ge/src/ge_subpalette.cpp
+2
-0
xtt/lib/ge/src/pwr_ge_setup.dat
xtt/lib/ge/src/pwr_ge_setup.dat
+1
-0
xtt/lib/glow/src/glow.h
xtt/lib/glow/src/glow.h
+15
-2
xtt/lib/glow/src/glow_array.cpp
xtt/lib/glow/src/glow_array.cpp
+16
-0
xtt/lib/glow/src/glow_growapi.cpp
xtt/lib/glow/src/glow_growapi.cpp
+158
-4
xtt/lib/glow/src/glow_growapi.h
xtt/lib/glow/src/glow_growapi.h
+22
-0
xtt/lib/glow/src/glow_growaxisarc.cpp
xtt/lib/glow/src/glow_growaxisarc.cpp
+677
-0
xtt/lib/glow/src/glow_growaxisarc.h
xtt/lib/glow/src/glow_growaxisarc.h
+249
-0
xtt/lib/glow/src/glow_growctx.cpp
xtt/lib/glow/src/glow_growctx.cpp
+9
-0
No files found.
src/changelog.txt
View file @
ed3f964c
...
...
@@ -159,3 +159,5 @@
101220 cs gdh Gdh fix to be able to set values in mounted volumes from opc.
110111 cs plc Plc loop options added for policy when execution time exceedes scantime.
110119 hw plc PID controller, derivative filtering modified, and function object Filter algorithm modified.
110427 cs qmon Bugfix in buffering of subscription messages.
110427 cs tmon All timed out subscriptions immediately reset.
\ No newline at end of file
xtt/lib/ge/src/ge_bitmap_axisarc250.h
0 → 100644
View file @
ed3f964c
#define ge_bitmap_axisarc250_width 16
#define ge_bitmap_axisarc250_height 13
static
unsigned
char
ge_bitmap_axisarc250_bits
[]
=
{
0x00
,
0x00
,
0x00
,
0x00
,
0xc0
,
0x01
,
0xb0
,
0x06
,
0x88
,
0x08
,
0x0c
,
0x18
,
0x12
,
0x24
,
0x02
,
0x20
,
0x01
,
0x40
,
0x01
,
0x40
,
0x07
,
0x70
,
0x00
,
0x00
,
0x00
,
0x00
};
xtt/lib/ge/src/ge_graph.cpp
View file @
ed3f964c
...
...
@@ -1624,6 +1624,23 @@ int Graph::get_attr_items( grow_tObject object, attr_sItem **itemlist,
&
grow_info_cnt
);
*
item_cnt
=
0
;
}
else
if
(
grow_GetObjectType
(
object
)
==
glow_eObjectType_GrowAxisArc
)
{
char
transtab
[][
32
]
=
{
"Angle1"
,
"Angle1"
,
"Angle2"
,
"Angle2"
,
"LineLength"
,
"LineLength"
,
"MaxValue"
,
"MaxValue"
,
"MinValue"
,
"MinValue"
,
"Lines"
,
"Lines"
,
"LongQuotient"
,
"LongQuotient"
,
"ValueQuotient"
,
"ValueQuotient"
,
"Dynamic"
,
"Dynamic"
,
""
};
grow_GetObjectAttrInfo
(
object
,
(
char
*
)
transtab
,
&
grow_info
,
&
grow_info_cnt
);
*
item_cnt
=
0
;
}
else
if
(
grow_GetObjectType
(
object
)
==
glow_eObjectType_GrowSlider
)
{
char
transtab
[][
32
]
=
{
"SubGraph"
,
"SubGraph"
,
...
...
@@ -2451,6 +2468,10 @@ static int graph_grow_cb( GlowCtx *ctx, glow_tEvent event)
grow_tObject
t1
;
graph
->
create_axis
(
&
t1
,
event
->
create_grow_object
.
x
,
event
->
create_grow_object
.
y
);
}
else
if
(
strcmp
(
sub_name
,
"pwr_axisarc"
)
==
0
)
{
grow_tObject
t1
;
graph
->
create_axisarc
(
&
t1
,
event
->
create_grow_object
.
x
,
event
->
create_grow_object
.
y
);
}
else
if
(
strcmp
(
sub_name
,
"pwr_conglue"
)
==
0
)
{
grow_tObject
t1
;
...
...
@@ -4743,6 +4764,27 @@ void Graph::create_axis( grow_tObject *object, double x, double y)
grow_Redraw
(
grow
->
ctx
);
}
void
Graph
::
create_axisarc
(
grow_tObject
*
object
,
double
x
,
double
y
)
{
double
width
=
5
;
double
height
=
5
;
glow_sAxisInfo
info
;
grow_CreateGrowAxisArc
(
grow
->
ctx
,
""
,
x
,
y
,
x
+
width
,
y
+
height
,
0
,
180
,
glow_eDrawType_Line
,
1
,
1
,
glow_eDrawType_TextHelvetica
,
NULL
,
object
);
info
.
max_value
=
100
;
info
.
min_value
=
0
;
info
.
lines
=
11
;
info
.
longquotient
=
2
;
info
.
valuequotient
=
2
;
strcpy
(
info
.
format
,
"%3.0f"
);
grow_SetAxisInfo
(
*
object
,
&
info
);
grow_Redraw
(
grow
->
ctx
);
}
int
Graph
::
create_node_floating
(
double
x
,
double
y
)
{
char
sub_name
[
80
]
=
"graph"
;
...
...
xtt/lib/ge/src/ge_graph.h
View file @
ed3f964c
...
...
@@ -1251,6 +1251,7 @@ class Graph {
\param y y coordinate for object.
*/
void
create_axis
(
grow_tObject
*
object
,
double
x
,
double
y
);
void
create_axisarc
(
grow_tObject
*
object
,
double
x
,
double
y
);
int
create_node_floating
(
double
x
,
double
y
);
...
...
xtt/lib/ge/src/ge_subpalette.cpp
View file @
ed3f964c
...
...
@@ -289,6 +289,7 @@
#include "ge_bitmap_elheater247.h"
#include "ge_bitmap_limitswitch248.h"
#include "ge_bitmap_camera249.h"
#include "ge_bitmap_axisarc250.h"
#define SUBPALETTE__INPUT_SYNTAX 2
#define SUBPALETTE__OBJNOTFOUND 4
...
...
@@ -629,6 +630,7 @@ void SubPaletteBrow::allocate_pixmaps()
ALLOC_PIXMAP
(
ge_bitmap_elheater247
,
247
);
ALLOC_PIXMAP
(
ge_bitmap_limitswitch248
,
248
);
ALLOC_PIXMAP
(
ge_bitmap_camera249
,
249
);
ALLOC_PIXMAP
(
ge_bitmap_axisarc250
,
250
);
}
...
...
xtt/lib/ge/src/pwr_ge_setup.dat
View file @
ed3f964c
...
...
@@ -21,6 +21,7 @@ menu Analog
subgraph XYCurve pwr_xycurve.component 25
subgraph Bar pwr_bar.component 26
subgraph Axis pwr_axis.component 27
subgraph AxisArc pwr_axisarc.component 250
}
menu Process
{
...
...
xtt/lib/glow/src/glow.h
View file @
ed3f964c
...
...
@@ -194,7 +194,8 @@ typedef enum {
glow_eObjectType_GrowScrollBar
,
glow_eObjectType_GrowTable
,
glow_eObjectType_GrowFolder
,
glow_eObjectType_GrowXYCurve
glow_eObjectType_GrowXYCurve
,
glow_eObjectType_GrowAxisArc
}
glow_eObjectType
;
//! Direction of a connection points, sliders etc
...
...
@@ -1055,6 +1056,7 @@ typedef enum {
glow_eSave_GrowFolder
=
41
,
glow_eSave_GrowTable
=
42
,
glow_eSave_GrowXYCurve
=
43
,
glow_eSave_GrowAxisArc
=
44
,
glow_eSave_End
=
99
,
glow_eSave_Ctx_zoom_factor_x
=
100
,
glow_eSave_Ctx_base_zoom_factor
=
101
,
...
...
@@ -1721,7 +1723,18 @@ typedef enum {
glow_eSave_GrowTable_column_adjustment10
=
4274
,
glow_eSave_GrowTable_column_adjustment11
=
4275
,
glow_eSave_GrowTable_column_adjustment12
=
4276
,
glow_eSave_GrowXYCurve_trend_part
=
4300
glow_eSave_GrowXYCurve_trend_part
=
4300
,
glow_eSave_GrowAxisArc_max_value
=
4400
,
glow_eSave_GrowAxisArc_min_value
=
4401
,
glow_eSave_GrowAxisArc_arc_part
=
4402
,
glow_eSave_GrowAxisArc_lines
=
4403
,
glow_eSave_GrowAxisArc_linelength
=
4404
,
glow_eSave_GrowAxisArc_longquotient
=
4405
,
glow_eSave_GrowAxisArc_valuequotient
=
4406
,
glow_eSave_GrowAxisArc_format
=
4407
,
glow_eSave_GrowAxisArc_text_size
=
4408
,
glow_eSave_GrowAxisArc_text_drawtype
=
4409
,
glow_eSave_GrowAxisArc_text_color_drawtype
=
4410
}
glow_eSave
;
//! Relative or absolute position for an annotation
...
...
xtt/lib/glow/src/glow_array.cpp
View file @
ed3f964c
...
...
@@ -57,6 +57,7 @@
#include "glow_growimage.h"
#include "glow_growgroup.h"
#include "glow_growaxis.h"
#include "glow_growaxisarc.h"
#include "glow_growconglue.h"
#include "glow_growwindow.h"
#include "glow_growfolder.h"
...
...
@@ -222,6 +223,14 @@ void GlowArray::copy_from( const GlowArray& array)
insert
(
n
);
break
;
}
case
glow_eObjectType_GrowAxisArc
:
{
GrowAxisArc
*
n
=
new
GrowAxisArc
(
*
(
GrowAxisArc
*
)
array
.
a
[
i
]);
n
->
highlight
=
0
;
n
->
hot
=
0
;
insert
(
n
);
break
;
}
case
glow_eObjectType_GrowConGlue
:
{
GrowConGlue
*
n
=
new
GrowConGlue
(
*
(
GrowConGlue
*
)
array
.
a
[
i
]);
...
...
@@ -1000,6 +1009,13 @@ void GlowArray::open( GrowCtx *ctx, ifstream& fp)
insert
(
r
);
break
;
}
case
glow_eSave_GrowAxisArc
:
{
GrowAxisArc
*
r
=
new
GrowAxisArc
(
ctx
,
""
);
r
->
open
(
fp
);
insert
(
r
);
break
;
}
case
glow_eSave_GrowConGlue
:
{
GrowConGlue
*
r
=
new
GrowConGlue
(
ctx
,
""
);
...
...
xtt/lib/glow/src/glow_growapi.cpp
View file @
ed3f964c
...
...
@@ -62,6 +62,7 @@
#include "glow_growslider.h"
#include "glow_growimage.h"
#include "glow_growaxis.h"
#include "glow_growaxisarc.h"
#include "glow_growgroup.h"
#include "glow_growconglue.h"
#include "glow_growmenu.h"
...
...
@@ -1108,6 +1109,21 @@ void grow_CreateGrowAxis( grow_tCtx ctx, const char *name,
*
axis
=
(
grow_tObject
)
l1
;
}
void
grow_CreateGrowAxisArc
(
grow_tCtx
ctx
,
const
char
*
name
,
double
x1
,
double
y1
,
double
x2
,
double
y2
,
int
ang1
,
int
ang2
,
glow_eDrawType
draw_type
,
int
line_width
,
int
text_size
,
glow_eDrawType
text_drawtype
,
void
*
user_data
,
grow_tObject
*
axis
)
{
GrowAxisArc
*
l1
;
l1
=
new
GrowAxisArc
(
ctx
,
name
,
x1
,
y1
,
x2
,
y2
,
ang1
,
ang2
,
draw_type
,
line_width
,
text_size
,
text_drawtype
);
l1
->
set_user_data
(
user_data
);
ctx
->
insert
(
l1
);
ctx
->
nav_zoom
();
*
axis
=
(
grow_tObject
)
l1
;
}
void
grow_CreateGrowConGlue
(
grow_tCtx
ctx
,
const
char
*
name
,
double
x
,
double
y
,
grow_tObject
*
conglue
)
{
...
...
@@ -2357,6 +2373,101 @@ int grow_GetObjectAttrInfo( grow_tObject object, char *transtab,
}
break
;
}
case
glow_eObjectType_GrowAxisArc
:
{
GrowAxisArc
*
op
=
(
GrowAxisArc
*
)
object
;
char
*
name
;
char
*
dynamic
;
int
dynsize
;
if
(
(
name
=
growapi_translate
(
transtab
,
"Angle1"
)))
{
strcpy
(
attrinfo
[
i
].
name
,
name
);
attrinfo
[
i
].
value_p
=
&
op
->
angle1
;
attrinfo
[
i
].
type
=
glow_eType_Int
;
attrinfo
[
i
++
].
size
=
sizeof
(
op
->
angle1
);
}
if
(
(
name
=
growapi_translate
(
transtab
,
"Angle2"
)))
{
strcpy
(
attrinfo
[
i
].
name
,
name
);
attrinfo
[
i
].
value_p
=
&
op
->
angle2
;
attrinfo
[
i
].
type
=
glow_eType_Int
;
attrinfo
[
i
++
].
size
=
sizeof
(
op
->
angle2
);
}
if
(
(
name
=
growapi_translate
(
transtab
,
"LineLength"
)))
{
strcpy
(
attrinfo
[
i
].
name
,
name
);
attrinfo
[
i
].
value_p
=
&
op
->
linelength
;
attrinfo
[
i
].
type
=
glow_eType_Double
;
attrinfo
[
i
++
].
size
=
sizeof
(
op
->
linelength
);
}
if
(
(
name
=
growapi_translate
(
transtab
,
"MaxValue"
)))
{
strcpy
(
attrinfo
[
i
].
name
,
name
);
attrinfo
[
i
].
value_p
=
&
op
->
max_value
;
attrinfo
[
i
].
type
=
glow_eType_Double
;
attrinfo
[
i
++
].
size
=
sizeof
(
op
->
max_value
);
}
if
(
(
name
=
growapi_translate
(
transtab
,
"MinValue"
)))
{
strcpy
(
attrinfo
[
i
].
name
,
name
);
attrinfo
[
i
].
value_p
=
&
op
->
min_value
;
attrinfo
[
i
].
type
=
glow_eType_Double
;
attrinfo
[
i
++
].
size
=
sizeof
(
op
->
min_value
);
}
if
(
(
name
=
growapi_translate
(
transtab
,
"Lines"
)))
{
strcpy
(
attrinfo
[
i
].
name
,
name
);
attrinfo
[
i
].
value_p
=
&
op
->
lines
;
attrinfo
[
i
].
type
=
glow_eType_Int
;
attrinfo
[
i
++
].
size
=
sizeof
(
op
->
lines
);
}
if
(
(
name
=
growapi_translate
(
transtab
,
"LongQuotient"
)))
{
strcpy
(
attrinfo
[
i
].
name
,
name
);
attrinfo
[
i
].
value_p
=
&
op
->
longquotient
;
attrinfo
[
i
].
type
=
glow_eType_Int
;
attrinfo
[
i
++
].
size
=
sizeof
(
op
->
longquotient
);
}
if
(
(
name
=
growapi_translate
(
transtab
,
"ValueQuotient"
)))
{
strcpy
(
attrinfo
[
i
].
name
,
name
);
attrinfo
[
i
].
value_p
=
&
op
->
valuequotient
;
attrinfo
[
i
].
type
=
glow_eType_Int
;
attrinfo
[
i
++
].
size
=
sizeof
(
op
->
valuequotient
);
}
if
(
(
name
=
growapi_translate
(
transtab
,
"Format"
)))
{
strcpy
(
attrinfo
[
i
].
name
,
name
);
attrinfo
[
i
].
value_p
=
&
op
->
format
;
attrinfo
[
i
].
type
=
glow_eType_String
;
attrinfo
[
i
++
].
size
=
sizeof
(
op
->
format
);
}
if
(
(
name
=
growapi_translate
(
transtab
,
"Dynamic"
)))
{
strcpy
(
attrinfo
[
i
].
name
,
name
);
op
->
get_dynamic
(
&
dynamic
,
&
dynsize
);
attrinfo
[
i
].
value_p
=
malloc
(
1024
);
if
(
dynsize
)
strncpy
(
(
char
*
)
attrinfo
[
i
].
value_p
,
dynamic
,
1024
);
else
strcpy
(
(
char
*
)
attrinfo
[
i
].
value_p
,
""
);
attrinfo
[
i
].
type
=
glow_eType_String
;
attrinfo
[
i
].
size
=
1024
;
attrinfo
[
i
].
multiline
=
1
;
attrinfo
[
i
++
].
info_type
=
grow_eInfoType_Dynamic
;
}
break
;
}
case
glow_eObjectType_GrowNode
:
case
glow_eObjectType_GrowGroup
:
{
...
...
@@ -3226,7 +3337,7 @@ void grow_UpdateObject( grow_tCtx ctx, grow_tObject object,
break
;
if
(
dynsize
&&
strcmp
(
dynamic
,
(
char
*
)
info_p
->
value_p
)
!=
0
)
((
Grow
Trend
*
)
object
)
->
set_dynamic
(
(
char
*
)
info_p
->
value_p
,
((
Grow
Axis
*
)
object
)
->
set_dynamic
(
(
char
*
)
info_p
->
value_p
,
strlen
(
(
char
*
)
info_p
->
value_p
));
else
if
(
!
dynsize
)
((
GrowAxis
*
)
object
)
->
set_dynamic
(
(
char
*
)
info_p
->
value_p
,
...
...
@@ -3245,6 +3356,42 @@ void grow_UpdateObject( grow_tCtx ctx, grow_tObject object,
((
GrowAxis
*
)
object
)
->
get_node_borders
();
((
GrowAxis
*
)
object
)
->
draw
(
&
ctx
->
mw
,
INT_MIN
,
INT_MIN
,
INT_MAX
,
INT_MAX
);
break
;
case
glow_eObjectType_GrowAxisArc
:
// Set changed dynamic
info_p
=
info
;
while
(
info_p
->
info_type
!=
grow_eInfoType_End
)
{
switch
(
info_p
->
info_type
)
{
case
grow_eInfoType_Dynamic
:
{
char
*
dynamic
;
int
dynsize
;
((
GrowAxisArc
*
)
object
)
->
get_dynamic
(
&
dynamic
,
&
dynsize
);
if
(
strcmp
(
(
char
*
)
info_p
->
value_p
,
""
)
==
0
&&
!
dynsize
)
break
;
if
(
dynsize
&&
strcmp
(
dynamic
,
(
char
*
)
info_p
->
value_p
)
!=
0
)
((
GrowAxisArc
*
)
object
)
->
set_dynamic
(
(
char
*
)
info_p
->
value_p
,
strlen
(
(
char
*
)
info_p
->
value_p
));
else
if
(
!
dynsize
)
((
GrowAxisArc
*
)
object
)
->
set_dynamic
(
(
char
*
)
info_p
->
value_p
,
strlen
(
(
char
*
)
info_p
->
value_p
));
break
;
}
default:
;
}
info_p
++
;
}
((
GrowAxisArc
*
)
object
)
->
configure
();
((
GrowAxisArc
*
)
object
)
->
zoom
();
((
GrowAxisArc
*
)
object
)
->
nav_zoom
();
((
GrowAxisArc
*
)
object
)
->
get_node_borders
();
((
GrowAxisArc
*
)
object
)
->
draw
(
&
ctx
->
mw
,
INT_MIN
,
INT_MIN
,
INT_MAX
,
INT_MAX
);
break
;
case
glow_eObjectType_GrowNode
:
case
glow_eObjectType_GrowGroup
:
// Set changed annotations
...
...
@@ -4077,8 +4224,12 @@ void grow_SetTrendLines( grow_tObject object, int vert_lines,
void
grow_SetAxisConf
(
grow_tObject
object
,
double
max_val
,
double
min_val
,
int
no_of_lines
,
int
long_quot
,
int
value_quot
,
double
rot
,
const
char
*
format
)
{
((
GrowAxis
*
)
object
)
->
set_conf
(
max_val
,
min_val
,
no_of_lines
,
long_quot
,
value_quot
,
rot
,
format
);
if
(
((
GlowArrayElem
*
)
object
)
->
type
()
==
glow_eObjectType_GrowAxis
)
((
GrowAxis
*
)
object
)
->
set_conf
(
max_val
,
min_val
,
no_of_lines
,
long_quot
,
value_quot
,
rot
,
format
);
else
if
(
((
GlowArrayElem
*
)
object
)
->
type
()
==
glow_eObjectType_GrowAxisArc
)
((
GrowAxisArc
*
)
object
)
->
set_conf
(
max_val
,
min_val
,
no_of_lines
,
long_quot
,
value_quot
,
rot
,
format
);
}
void
grow_SetModified
(
grow_tCtx
ctx
,
int
modified
)
...
...
@@ -4456,7 +4607,10 @@ void grow_GetBarInfo( grow_tObject object, glow_sBarInfo *info)
void
grow_SetAxisInfo
(
grow_tObject
object
,
glow_sAxisInfo
*
info
)
{
((
GrowAxis
*
)
object
)
->
set_axis_info
(
info
);
if
(
((
GlowArrayElem
*
)
object
)
->
type
()
==
glow_eObjectType_GrowAxis
)
((
GrowAxis
*
)
object
)
->
set_axis_info
(
info
);
else
if
(
((
GlowArrayElem
*
)
object
)
->
type
()
==
glow_eObjectType_GrowAxisArc
)
((
GrowAxisArc
*
)
object
)
->
set_axis_info
(
info
);
}
void
grow_SetTableInfo
(
grow_tObject
object
,
glow_sTableInfo
*
info
)
...
...
xtt/lib/glow/src/glow_growapi.h
View file @
ed3f964c
...
...
@@ -1196,6 +1196,28 @@ extern "C" {
glow_eDrawType
draw_type
,
int
line_width
,
int
text_size
,
glow_eDrawType
text_drawtype
,
void
*
user_data
,
grow_tObject
*
axis
);
//! Create an image object, i.e an object of class GrowImage.
/*!
\param ctx Grow context.
\param name Object name (max 31 char).
\param x1 x coordinate for first corner.
\param y1 y coordinate for first corner.
\param x2 x coordinate for second corner.
\param y2 y coordinate for second corner.
\param ang1 Start angle of the arc in degrees from the x axis.
\param ang2 Lengh of the arc in degrees from the start angle.
\param draw_type Border color.
\param line_width Linewidth of border.
\param text_size Text size.
\param text_drawtype Drawtype for text.
\param user_data User data.
\param axis Created GrowImage object.
*/
void
grow_CreateGrowAxisArc
(
grow_tCtx
ctx
,
const
char
*
name
,
double
x1
,
double
y1
,
double
x2
,
double
y2
,
int
ang1
,
int
ang2
,
glow_eDrawType
draw_type
,
int
line_width
,
int
text_size
,
glow_eDrawType
text_drawtype
,
void
*
user_data
,
grow_tObject
*
axis
);
//! Create a connection glue object, i.e. an object of class GrowConGlue.
/*!
...
...
xtt/lib/glow/src/glow_growaxisarc.cpp
0 → 100644
View file @
ed3f964c
This diff is collapsed.
Click to expand it.
xtt/lib/glow/src/glow_growaxisarc.h
0 → 100644
View file @
ed3f964c
/*
* Proview $Id$
* Copyright (C) 2005 SSAB Oxelösund AB.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with the program, if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**/
#ifndef glow_growaxisarc_h
#define glow_growaxisarc_h
#include "glow_growarc.h"
/*! \file glow_growaxisarc.h
\brief Contains the GrowAxisArc class. */
/*! \addtogroup Glow */
/*@{*/
//! Class for drawing an axis object.
/*! A GrowAxisArc object is an object that displays an axis or scale.
The GrowAxisArc class contains function for drawing the object, and handle events when the
object is clicked on, moved etc.
*/
class
GrowAxisArc
:
public
GrowArc
{
public:
//! Constuctor
/*!
\param glow_ctx The glow context.
\param name Name (max 31 char).
\param x1 x coordinate for first corner.
\param y1 y coordinate for first corner.
\param x2 x coordinate for second corner.
\param y2 y coordinate for second corner.
\param border_d_type Border color.
\param line_w Linewidth of border.
\param t_size Text size.
\param t_drawtype Drawtype for text.
\param nodraw Don't draw the object now.
*/
GrowAxisArc
(
GrowCtx
*
glow_ctx
,
const
char
*
name
,
double
x1
=
0
,
double
y1
=
0
,
double
x2
=
0
,
double
y2
=
0
,
int
ang1
=
0
,
int
ang2
=
0
,
glow_eDrawType
border_d_type
=
glow_eDrawType_Line
,
int
line_w
=
1
,
int
t_size
=
2
,
glow_eDrawType
t_drawtype
=
glow_eDrawType_TextHelvetica
,
int
nodraw
=
0
);
//! Destructor
/*! Remove the object from context, and erase it from the screen.
*/
~
GrowAxisArc
();
//! Save the content of the object to file.
/*!
\param fp Ouput file.
\param mode Not used.
*/
void
save
(
ofstream
&
fp
,
glow_eSaveMode
mode
);
//! Read the content of the object from file.
/*!
\param fp Input file.
*/
void
open
(
ifstream
&
fp
);
//! Erase the object
void
erase
(
GlowWind
*
w
)
{
erase
(
w
,
(
GlowTransform
*
)
NULL
,
hot
,
NULL
);};
//! Draw the objects if any part is inside the drawing area.
/*!
\param ll_x Lower left x coordinate of drawing area.
\param ll_y Lower left y coordinate of drawing area.
\param ur_x Upper right x coordinate of drawing area.
\param ur_y Upper right y coordinate of drawing area.
*/
void
draw
(
GlowWind
*
w
,
int
ll_x
,
int
ll_y
,
int
ur_x
,
int
ur_y
);
//! Draw the objects if any part is inside the drawing area, and extends the drawing area.
/*!
\param ll_x Lower left x coordinate of drawing area.
\param ll_y Lower left y coordinate of drawing area.
\param ur_x Upper right x coordinate of drawing area.
\param ur_y Upper right y coordinate of drawing area.
If some part of object is inside the drawing area, and also outside the drawing area,
the drawingarea is extended so it contains the whole objects.
*/
void
draw
(
GlowWind
*
w
,
int
*
ll_x
,
int
*
ll_y
,
int
*
ur_x
,
int
*
ur_y
);
//! Set object highlight.
/*!
\param on If 1, set highlight. If 0, reset highlight.
*/
void
set_highlight
(
int
on
);
//! Get the object type
/*!
\return The type of the object.
*/
glow_eObjectType
type
()
{
return
glow_eObjectType_GrowAxisArc
;};
int
text_size
;
//!< Size of text.
glow_eDrawType
text_drawtype
;
//!< Drawtype for text.
glow_eDrawType
text_color_drawtype
;
//!< Text color.
double
max_value
;
//!< Max value for the scale.
double
min_value
;
//!< Min value for the scale.
int
lines
;
//!< Number of perpendicular lines.
double
linelength
;
//!< Length of perpendicular lines.
int
longquotient
;
//!< Quotient of lines that are a little bit longer.
int
valuequotient
;
//!< Quotient of lines that displays a value.
double
increment
;
//!< Value difference between two lines.
char
format
[
20
];
//!< Format of displayed values.
//! Erase the object.
/*!
\param t Transform of parent node.
\param hot Draw as hot, with larger line width.
\param node Parent node. Can be zero.
*/
void
erase
(
GlowWind
*
w
,
GlowTransform
*
t
,
int
hot
,
void
*
node
);
//! Draw the object.
/*!
\param t Transform of parent node. Can be zero.
\param highlight Draw with highlight colors.
\param hot Draw as hot, with larger line width.
\param node Parent node. Can be zero.
\param colornode The node that controls the color of the object. Can be zero.
The object is drawn with border, fill and shadow. If t is not zero, the current tranform is
multiplied with the parentnodes transform, to give the appropriate coordinates for the drawing.
*/
void
draw
(
GlowWind
*
w
,
GlowTransform
*
t
,
int
highlight
,
int
hot
,
void
*
node
,
void
*
colornode
);
//! Redraw the area inside the objects border.
void
draw
();
//! Configure the axis
/*! Calculate the layout for the axis, length of lines and which values that should be dislayed.
*/
void
configure
();
//! Moves object to alignment line or point.
/*!
\param x x coordinate of alignment point.
\param y y coordinate of alignment point.
\param direction Type of alignment.
*/
void
align
(
double
x
,
double
y
,
glow_eAlignDirection
direction
);
//! Set the range for the scale value
/*!
\param min Min value.
\param max Max value.
*/
void
set_range
(
double
min
,
double
max
);
//! Set size of text.
/*!
\param size Text size.
*/
void
set_textsize
(
int
size
);
//! Set text bold.
/*!
\param bold Text is bold.
*/
void
set_textbold
(
int
bold
);
//! Set parameters for the axis.
/*!
\param info Info struct.
*/
void
set_axis_info
(
glow_sAxisInfo
*
info
);
//! Export the object as a javabean.
/*!
\param t Transform of parent node. Can be zero.
\param node Parent node. Can be zero.
\param pass Export pass.
\param shape_cnt Current index in a shape vector.
\param node_cnt Counter used for javabean name. Not used for this kind of object.
\param in_nc Member of a nodeclass. Not used for this kind of object.
\param fp Output file.
The object is transformed to the current zoom factor, and GlowExportJBean is used to generate
java code for the bean.
*/
void
export_javabean
(
GlowTransform
*
t
,
void
*
node
,
glow_eExportPass
pass
,
int
*
shape_cnt
,
int
node_cnt
,
int
in_nc
,
ofstream
&
fp
);
//! Set configuration values for the axis.
void
set_conf
(
double
max_val
,
double
min_val
,
int
no_of_lines
,
int
long_quot
,
int
value_quot
,
double
rot
,
const
char
*
format
);
//! Conversion between different versions of Glow
/*!
\param version Version to convert to.
*/
void
convert
(
glow_eConvert
version
);
//! Set original text color.
/*!
\param drawtype Text color.
*/
void
set_original_text_color
(
glow_eDrawType
drawtype
)
{
text_color_drawtype
=
drawtype
;
draw
();};
//! Format axis text.
/*!
\param text Formated text.
\param fmt Format specification, c syntax or %1t(h:m:s), %2t (d h:m) for time formats.
\param value Value to format.
*/
void
format_text
(
char
*
text
,
char
*
fmt
,
double
value
);
};
/*@}*/
#endif
xtt/lib/glow/src/glow_growctx.cpp
View file @
ed3f964c
...
...
@@ -49,6 +49,7 @@
#include "glow_growimage.h"
#include "glow_growgroup.h"
#include "glow_growaxis.h"
#include "glow_growaxisarc.h"
#include "glow_growmenu.h"
#include "glow_growfolder.h"
#include "glow_growtable.h"
...
...
@@ -2950,6 +2951,8 @@ void GrowCtx::set_select_textsize( int size)
((
GrowText
*
)
a_sel
[
i
])
->
set_textsize
(
size
);
else
if
(
a_sel
[
i
]
->
type
()
==
glow_eObjectType_GrowAxis
)
((
GrowAxis
*
)
a_sel
[
i
])
->
set_textsize
(
size
);
else
if
(
a_sel
[
i
]
->
type
()
==
glow_eObjectType_GrowAxisArc
)
((
GrowAxisArc
*
)
a_sel
[
i
])
->
set_textsize
(
size
);
else
if
(
a_sel
[
i
]
->
type
()
==
glow_eObjectType_GrowFolder
)
((
GrowFolder
*
)
a_sel
[
i
])
->
set_textsize
(
size
);
else
if
(
a_sel
[
i
]
->
type
()
==
glow_eObjectType_GrowTable
)
...
...
@@ -2964,6 +2967,8 @@ void GrowCtx::set_select_textbold( int bold)
((
GrowText
*
)
a_sel
[
i
])
->
set_textbold
(
bold
);
else
if
(
a_sel
[
i
]
->
type
()
==
glow_eObjectType_GrowAxis
)
((
GrowAxis
*
)
a_sel
[
i
])
->
set_textbold
(
bold
);
else
if
(
a_sel
[
i
]
->
type
()
==
glow_eObjectType_GrowAxisArc
)
((
GrowAxisArc
*
)
a_sel
[
i
])
->
set_textbold
(
bold
);
else
if
(
a_sel
[
i
]
->
type
()
==
glow_eObjectType_GrowFolder
)
((
GrowFolder
*
)
a_sel
[
i
])
->
set_textbold
(
bold
);
else
if
(
a_sel
[
i
]
->
type
()
==
glow_eObjectType_GrowTable
)
...
...
@@ -4336,6 +4341,10 @@ void GrowCtx::read_object( ifstream& fp, GlowArrayElem **o)
n
=
new
GrowAxis
(
this
,
""
);
break
;
}
case
glow_eSave_GrowAxisArc
:
{
n
=
new
GrowAxisArc
(
this
,
""
);
break
;
}
case
glow_eSave_GrowConGlue
:
{
n
=
new
GrowConGlue
(
this
,
""
);
break
;
...
...
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