Commit 44c43e96 authored by Claes Sjofors's avatar Claes Sjofors

Xtt graph options for fullscreen, maximize, iconfiy added for command and XttGraph object

parent fa44634f
......@@ -141,38 +141,28 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! If action is opening a ge graph, open a navigator window for the graph.
!*/
Object Navigator $Attribute 10
Body SysBody
Attr TypeRef = "pwrs:Type-$Boolean"
Attr Flags = 0
EndBody
EndObject
!/**
! If action is opening a ge graph, display scrollbars in the graph window.
!*/
Object Scrollbar $Attribute 11
Body SysBody
Attr TypeRef = "pwrs:Type-$Boolean"
Attr Flags = 0
EndBody
EndObject
!/**
! If action is opening a ge graph, display a menu in the graph window.
! Name of an object, if action is opening a class graph for a specific object.
!*/
Object Menu $Attribute 12
Object Object $Attribute 13
Body SysBody
Attr TypeRef = "pwrs:Type-$Boolean"
Attr TypeRef = "pwrs:Type-$Objid"
Attr Flags = 0
EndBody
EndObject
!/**
! Name of an object, if action is opening a class graph for a specific object.
! Options for the graph.
!
! - FullScreen Open the graph as full screen without frame.
! - Maximize Open the graph maximized, not covering the operator window (NYI).
! - FullMaximize Open the graph maximized, covering the operator window.
! - Iconify Open the graph iconified.
! - Menu Add a standard menu with close and zoom buttons.
! - Srollbars Add scrollbars.
! - Navigator Open a navigator window for scrolling and zooming the graph.
!*/
Object Object $Attribute 13
Object Options $Attribute 15
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrb:Type-XttGraphOptionsMask"
Attr Flags = 0
EndBody
EndObject
......
!
! Proview $Id$
! Copyright (C) 2005 SSAB Oxelsund 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.
!
! pwrb_xttgraphoptionsmask.wb_load -- Defines the mask type XttGraphOptionsMask
!
SObject pwrb:Type
!/**
! @Version 1.0
! @Group Types
! Bitmask for xtt graph options.
!
! @b See also
! @classlink XttGraph pwrb_xttgraph.html
!*/
Object XttGraphOptionsMask $TypeDef 55
Body SysBody
Attr Type = pwr_eType_Mask
Attr Size = 4
Attr TypeRef = "pwrs:Type-$Mask"
Attr Elements = 1
EndBody
!/**
! Full screen.
!*/
Object FullSceen $Bit
Body SysBody
Attr PgmName = "FullScreen"
Attr Text = "FullScreen"
Attr Value = 1
EndBody
EndObject
!/**
! Maximize.
!*/
Object Maximize $Bit
Body SysBody
Attr PgmName = "Maximize"
Attr Text = "Maximize"
Attr Value = 2
EndBody
EndObject
!/**
! Hide Status bar.
!*/
Object FullMaximize $Bit
Body SysBody
Attr PgmName = "FullMaximize"
Attr Text = "FullMaximize"
Attr Value = 4
EndBody
EndObject
!/**
! Iconify.
!*/
Object Iconify $Bit
Body SysBody
Attr PgmName = "Iconify"
Attr Text = "Iconify"
Attr Value = 8
EndBody
EndObject
!/**
! Menu.
!*/
Object Menu $Bit
Body SysBody
Attr PgmName = "Menu"
Attr Text = "Menu"
Attr Value = 16
EndBody
EndObject
!/**
! Scrollbars.
!*/
Object Scrollbars $Bit
Body SysBody
Attr PgmName = "Scrollbars"
Attr Text = "Scrollbars"
Attr Value = 32
EndBody
EndObject
!/**
! Navigator.
!*/
Object Navigator $Bit
Body SysBody
Attr PgmName = "Navigator"
Attr Text = "Navigator"
Attr Value = 64
EndBody
EndObject
EndObject
EndSObject
......@@ -773,7 +773,7 @@ Xtt::Xtt( int *argc, char **argv[], int *return_sts) :
(*argc) += 2;
*argv = argv1;
}
if ( opp->OpWindLayout & pwr_mOpWindLayoutMask_HideLicenceWindow)
if ( opp->OpWindLayout & pwr_mOpWindLayoutMask_HideLicenseWindow)
quiet = 1;
if ( opp->AttachAudio)
......
......@@ -265,6 +265,7 @@ XttGeGtk::XttGeGtk( GtkWidget *xg_parent_wid, void *xg_parent_ctx, const char *x
const char *xg_filename, int xg_scrollbar, int xg_menu, int xg_navigator,
int xg_width, int xg_height, int x, int y, double scan_time,
const char *object_name, int use_default_access, unsigned int access,
unsigned int options,
int (*xg_command_cb) (XttGe *, char *),
int (*xg_get_current_objects_cb) (void *, pwr_sAttrRef **, int **),
int (*xg_is_authorized_cb) (void *, unsigned int)) :
......@@ -415,6 +416,15 @@ XttGeGtk::XttGeGtk( GtkWidget *xg_parent_wid, void *xg_parent_ctx, const char *x
// Set position
gtk_window_move( GTK_WINDOW(toplevel), x, y);
}
if ( options & ge_mOptions_FullScreen)
gtk_window_fullscreen( GTK_WINDOW(toplevel));
else if ( options & ge_mOptions_Maximize)
gtk_window_maximize( GTK_WINDOW(toplevel)); // TODO
else if ( options & ge_mOptions_FullMaximize)
gtk_window_maximize( GTK_WINDOW(toplevel));
else if ( options & ge_mOptions_Iconify)
gtk_window_iconify( GTK_WINDOW(toplevel));
}
static gint confirm_delete_event( GtkWidget *w, GdkEvent *event, gpointer ge)
......
......@@ -49,7 +49,7 @@ class XttGeGtk : public XttGe {
XttGeGtk( GtkWidget *parent_wid, void *parent_ctx, const char *name, const char *filename,
int scrollbar, int menu, int navigator, int width, int height,
int x, int y, double scan_time, const char *object_name, int use_default_access,
unsigned int access,
unsigned int access, unsigned int options,
int (*xg_command_cb) (XttGe *, char *),
int (*xg_get_current_objects_cb) (void *, pwr_sAttrRef **, int **),
int (*xg_is_authorized_cb) (void *, unsigned int));
......
......@@ -253,13 +253,14 @@ XttGe *XNavGtk::xnav_ge_new( const char *name, const char *filename, int scrollb
int navigator, int width, int height, int x, int y,
double scan_time, const char *object_name,
int use_default_access, unsigned int access,
unsigned int options,
int (*command_cb) (XttGe *, char *),
int (*get_current_objects_cb) (void *, pwr_sAttrRef **, int **),
int (*is_authorized_cb) (void *, unsigned int))
{
return new XttGeGtk( parent_wid, this, name, filename, scrollbar, menu, navigator,
width, height, x, y, scan_time, object_name, use_default_access,
access, command_cb, get_current_objects_cb, is_authorized_cb);
width, height, x, y, scan_time, object_name, use_default_access,
access, options, command_cb, get_current_objects_cb, is_authorized_cb);
}
GeCurve *XNavGtk::gecurve_new( char *name, char *filename, GeCurveData *data,
......
......@@ -68,7 +68,7 @@ class XNavGtk : public XNav {
XttGe *xnav_ge_new( const char *name, const char *filename, int scrollbar, int menu,
int navigator, int width, int height, int x, int y,
double scan_time, const char *object_name,
int use_default_access, unsigned int access,
int use_default_access, unsigned int access, unsigned int options,
int (*xg_command_cb) (XttGe *, char *),
int (*xg_get_current_objects_cb) (void *, pwr_sAttrRef **, int **),
int (*xg_is_authorized_cb) (void *, unsigned int));
......
......@@ -296,7 +296,7 @@ XttGeMotif::XttGeMotif( Widget xg_parent_wid, void *xg_parent_ctx, const char *x
const char *xg_filename, int xg_scrollbar, int xg_menu,
int xg_navigator, int xg_width, int xg_height, int x, int y,
double scan_time, const char *object_name,
int use_default_access, unsigned int access,
int use_default_access, unsigned int access, unsigned int options,
int (*xg_command_cb) (XttGe *, char *),
int (*xg_get_current_objects_cb) (void *, pwr_sAttrRef **, int **),
int (*xg_is_authorized_cb) (void *, unsigned int)) :
......
/*
x/*
* Proview $Id: xtt_ge_motif.h,v 1.2 2008-10-31 12:51:36 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
......@@ -44,7 +44,7 @@ class XttGeMotif : public XttGe {
XttGeMotif( Widget parent_wid, void *parent_ctx, const char *name, const char *filename,
int scrollbar, int menu, int navigator, int width, int height,
int x, int y, double scan_time, const char *object_name, int use_default_access,
unsigned int access,
unsigned int access, unsigned int options,
int (*xg_command_cb) (XttGe *, char *),
int (*xg_get_current_objects_cb) (void *, pwr_sAttrRef **, int **),
int (*xg_is_authorized_cb) (void *, unsigned int));
......
......@@ -274,14 +274,14 @@ CLog *XNavMotif::clog_new( const char *name, pwr_tStatus *sts)
XttGe *XNavMotif::xnav_ge_new( const char *name, const char *filename, int scrollbar, int menu,
int navigator, int width, int height, int x, int y,
double scan_time, const char *object_name,
int use_default_access, unsigned int access,
int use_default_access, unsigned int access, unsigned int options,
int (*command_cb) (XttGe *, char *),
int (*get_current_objects_cb) (void *, pwr_sAttrRef **, int **),
int (*is_authorized_cb) (void *, unsigned int))
{
return new XttGeMotif( parent_wid, this, name, filename, scrollbar, menu, navigator,
width, height, x, y, scan_time, object_name, use_default_access,
access, command_cb, get_current_objects_cb, is_authorized_cb);
access, options, command_cb, get_current_objects_cb, is_authorized_cb);
}
GeCurve *XNavMotif::gecurve_new( char *name, char *filename, GeCurveData *data,
......
......@@ -65,7 +65,7 @@ class XNavMotif : public XNav {
XttGe *xnav_ge_new( const char *name, const char *filename, int scrollbar, int menu,
int navigator, int width, int height, int x, int y,
double scan_time, const char *object_name,
int use_default_access, unsigned int access,
int use_default_access, unsigned int access, unsigned int options,
int (*xg_command_cb) (XttGe *, char *),
int (*xg_get_current_objects_cb) (void *, pwr_sAttrRef **, int **),
int (*xg_is_authorized_cb) (void *, unsigned int));
......
......@@ -1935,7 +1935,7 @@ static pwr_tStatus CrrOpenTraceFilter( xmenu_sMenuCall *ip)
// Open graph
static pwr_tStatus CrrOpenGraph( xmenu_sMenuCall *ip)
{
((XNav *)ip->EditorContext)->exec_xttgraph( ip->Pointed.Objid, 0, 0, 0, 0, 0);
((XNav *)ip->EditorContext)->exec_xttgraph( ip->Pointed.Objid, 0, 0, 0, 0, 0, 0);
return XNAV__SUCCESS;
}
......
......@@ -1425,7 +1425,7 @@ int ItemFile::open_children( XNavBrow *brow, double x, double y)
break;
}
case item_eFileType_Graph:
xnav->open_graph( name, file_name, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
xnav->open_graph( name, file_name, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
break;
case item_eFileType_RttLog:
xnav->open_rttlog( name, file_name);
......
......@@ -172,6 +172,13 @@ struct s_trace_node {
pwr_tObjid Objid;
};
typedef enum {
ge_mOptions_FullScreen = 1 << 0,
ge_mOptions_Maximize = 1 << 1,
ge_mOptions_FullMaximize = 1 << 2,
ge_mOptions_Iconify = 1 << 3
} ge_mOptions;
typedef enum {
applist_eType_Trace,
applist_eType_Graph,
......@@ -352,7 +359,7 @@ class XNav {
virtual XttGe *xnav_ge_new( const char *name, const char *filename, int scrollbar, int menu,
int navigator, int width, int height, int x, int y,
double scan_time, const char *object_name,
int use_default_access, unsigned int access,
int use_default_access, unsigned int access, unsigned int options,
int (*xg_command_cb) (XttGe *, char *),
int (*xg_get_current_objects_cb) (void *, pwr_sAttrRef **, int **),
int (*xg_is_authorized_cb) (void *, unsigned int)) {return 0;}
......@@ -492,11 +499,11 @@ class XNav {
void open_graph( const char *name, const char *filename, int scrollbar, int menu,
int navigator, int width, int height, int x, int y, const char *object_name,
const char *focus, int inputempty, int use_default_access,
unsigned int access);
unsigned int access, unsigned int options);
void close_graph( char *filename, char *object_name);
int exec_xttgraph( pwr_tObjid xttgraph, char *instance,
char *focus, int inputempty,
int use_default_access, unsigned int access);
int use_default_access, unsigned int access, unsigned int options);
void ge_event_exec( int type, char *name, char *instance, void *event, unsigned int size);
int set_parameter( char *name_str, char *value_str, int bypass);
void open_rttlog( char *name, char *filename);
......
......@@ -238,7 +238,8 @@ dcli_tCmdTable xnav_command_table[] = {
"/NAVIGATOR", "/CENTER", "/OBJECT", "/NEW",
"/INSTANCE", "/COLLECT", "/FOCUS", "/INPUTEMPTY",
"/ENTRY", "/TITLE", "/ACCESS", "/CLASSGRAPH", "/PARENT", "/BYPASS",
"/CLOSEBUTTON", "/TARGET", "/TRIGGER", "/TYPE", "/FTYPE", ""}
"/CLOSEBUTTON", "/TARGET", "/TRIGGER", "/TYPE", "/FTYPE",
"/FULLSCREEN", "/MAXIMIZE", "/FULLMAXIMIZE", "/ICONIFY", ""}
},
{
"CLOSE",
......@@ -2446,9 +2447,20 @@ static int xnav_open_func( void *client_data,
int classgraph;
int parent;
pwr_tStatus sts;
unsigned int options = 0;
parent = ODD( dcli_get_qualifier( "/PARENT", 0, 0));
if ( ODD( dcli_get_qualifier( "/FULLSCREEN", 0, 0)))
options |= ge_mOptions_FullScreen;
if ( ODD( dcli_get_qualifier( "/MAXIMIZE", 0, 0)))
options |= ge_mOptions_Maximize;
if ( ODD( dcli_get_qualifier( "/FULLMAXIMIZE", 0, 0)))
options |= ge_mOptions_FullMaximize;
if ( ODD( dcli_get_qualifier( "/ICONIFY", 0, 0)))
options |= ge_mOptions_Iconify;
if ( ODD( dcli_get_qualifier( "/INSTANCE", instance_str, sizeof(instance_str)))) {
instance_p = instance_str;
......@@ -2582,7 +2594,8 @@ static int xnav_open_func( void *client_data,
else
use_default_access = 0;
xnav->exec_xttgraph( objid, instance_p, focus_p, inputempty, use_default_access, access);
xnav->exec_xttgraph( objid, instance_p, focus_p, inputempty, use_default_access, access,
options);
}
else {
pwr_tFileName file_str;
......@@ -2605,7 +2618,7 @@ static int xnav_open_func( void *client_data,
navigator = ODD( dcli_get_qualifier( "/NAVIGATOR", 0, 0));
xnav->open_graph( "Collect", "_none_", scrollbar, menu, navigator,
0, 0, 0, 0, "collect", NULL, 0, 0, 0);
0, 0, 0, 0, "collect", NULL, 0, 0, 0, options);
return XNAV__SUCCESS;
}
if ( ODD( dcli_get_qualifier( "dcli_arg2", file_str, sizeof(file_str)))) {
......@@ -2738,8 +2751,8 @@ static int xnav_open_func( void *client_data,
use_default_access = 0;
xnav->open_graph( name_str, file_str, scrollbar, menu, navigator,
width, height, 0, 0, instance_p, focus_p, inputempty,
use_default_access, access);
width, height, 0, 0, instance_p, focus_p, inputempty,
use_default_access, access, options);
return XNAV__SUCCESS;
}
}
......@@ -7193,7 +7206,7 @@ static int xnav_ge_get_current_objects_cb( void *vxnav, pwr_sAttrRef **alist,
void XNav::open_graph( const char *name, const char *filename, int scrollbar, int menu,
int navigator, int width, int height, int x, int y,
const char *object_name, const char *focus_name, int input_focus_empty,
int use_default_access, unsigned int access)
int use_default_access, unsigned int access, unsigned int options)
{
XttGe *gectx;
......@@ -7207,7 +7220,7 @@ void XNav::open_graph( const char *name, const char *filename, int scrollbar, in
{
gectx = xnav_ge_new( name, filename,
scrollbar, menu, navigator, width, height, x, y, gbl.scantime,
object_name, use_default_access, access,
object_name, use_default_access, access, options,
&xnav_ge_command_cb,
&xnav_ge_get_current_objects_cb, &xnav_ge_is_authorized_cb);
gectx->close_cb = xnav_ge_close_cb;
......@@ -7238,7 +7251,8 @@ void XNav::close_graph( char *filename, char *object_name)
int XNav::exec_xttgraph( pwr_tObjid xttgraph, char *instance,
char *focus, int inputempty,
int use_default_access, unsigned int access)
int use_default_access, unsigned int access,
unsigned int options)
{
pwr_sClass_XttGraph xttgraph_o;
char action[80];
......@@ -7246,6 +7260,7 @@ int XNav::exec_xttgraph( pwr_tObjid xttgraph, char *instance,
int sts;
pwr_tAName instance_str;
pwr_tAName name;
int scrollbars, menu, navigator;
sts = gdh_ObjidToName( xttgraph, name,
sizeof(name), cdh_mName_volumeStrict);
......@@ -7268,10 +7283,22 @@ int XNav::exec_xttgraph( pwr_tObjid xttgraph, char *instance,
{
// Open graph
*s = 0;
open_graph( xttgraph_o.Title, action, xttgraph_o.Scrollbar,
xttgraph_o.Menu, xttgraph_o.Navigator, xttgraph_o.Width,
scrollbars = xttgraph_o.Options & pwr_mXttGraphOptionsMask_Scrollbars ? 1 : 0;
menu = xttgraph_o.Options & pwr_mXttGraphOptionsMask_Menu ? 1 : 0;
navigator = xttgraph_o.Options & pwr_mXttGraphOptionsMask_Navigator ? 1 : 0;
if ( xttgraph_o.Options & pwr_mXttGraphOptionsMask_FullScreen)
options |= ge_mOptions_FullScreen;
if ( xttgraph_o.Options & pwr_mXttGraphOptionsMask_Maximize)
options |= ge_mOptions_Maximize;
if ( xttgraph_o.Options & pwr_mXttGraphOptionsMask_FullMaximize)
options |= ge_mOptions_FullMaximize;
if ( xttgraph_o.Options & pwr_mXttGraphOptionsMask_Iconify)
options |= ge_mOptions_Iconify;
open_graph( xttgraph_o.Title, action, scrollbars,
menu, navigator, xttgraph_o.Width,
xttgraph_o.Height, xttgraph_o.X, xttgraph_o.Y, instance,
focus, inputempty, use_default_access, access);
focus, inputempty, use_default_access, access, options);
}
else if ( (strstr( action, ".class")))
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment