Commit a202d657 authored by claes's avatar claes

More gtk

parent 7febf8b4
......@@ -20,3 +20,4 @@
060905 rk rt_qmon Wait a while for correct scheduler to be set before starting threads.
060905 rk rt_tmon Established new callback function for glibc malloc memory checks.
060905 rk plc Wait for all threads to set its priority before changing real and effective user id.
070112 cs rt Gtk version of rt_trace. Navigator window inserted in main window.
\ No newline at end of file
/*
* Proview $Id: rt_trace_gtk.cpp,v 1.2 2007-01-11 11:40:30 claes Exp $
* Proview $Id: rt_trace_gtk.cpp,v 1.3 2007-01-12 07:58:06 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
......@@ -227,7 +227,8 @@ RtTraceGtk::~RtTraceGtk()
gtk_widget_destroy( nav_shell);
/* Destroy the widgets */
gtk_widget_destroy( toplevel);
if ( toplevel)
gtk_widget_destroy( toplevel);
}
void RtTraceGtk::pop()
......@@ -267,7 +268,7 @@ static gint nav_delete_event( GtkWidget *w, GdkEvent *event, gpointer tra)
RtTraceGtk::RtTraceGtk( void *tr_parent_ctx, GtkWidget *tr_parent_wid, pwr_tObjid tr_objid,
pwr_tStatus *status) :
RtTrace( tr_parent_ctx, tr_objid, status), parent_wid(tr_parent_wid), nav_shell(0)
RtTrace( tr_parent_ctx, tr_objid, status), parent_wid(tr_parent_wid), toplevel(0), nav_shell(0)
{
const int window_width = 900;
......
......@@ -40,4 +40,5 @@
060727 cs plc Execute order was not displayed on aarithm objects and other objects with graphmethod 2.
060822 cs wb Performance improved when opening a node, and displaying the packages in the distributor.
061010 cs pkg Support for bootnodes added, i.e. copying of package to other
nodes than the actual process or operator station.
\ No newline at end of file
nodes than the actual process or operator station.
070112 cs wb Gtk version of wb.
\ No newline at end of file
/*
* Proview $Id: wb_foe_gtk.cpp,v 1.2 2007-01-11 11:40:30 claes Exp $
* Proview $Id: wb_foe_gtk.cpp,v 1.3 2007-01-12 07:58:06 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
......@@ -1429,17 +1429,17 @@ pwr_tStatus WFoeGtk::create_window( int x_top,
gtk_box_pack_start( GTK_BOX(palbox), widgets.con_palette, TRUE, TRUE, 0);
gtk_box_pack_start( GTK_BOX(palbox), widgets.nav_palette, TRUE, TRUE, 0);
gtk_paned_add1( GTK_PANED(widgets.subpane), palbox);
gtk_paned_pack1( GTK_PANED(widgets.subpane), palbox, TRUE, TRUE);
widgets.pane = gtk_hpaned_new();
gre = new WGreGtk( this, widgets.pane, "Name");
((WGreGtk *)gre)->new_navigator( widgets.subpane);
gtk_paned_add2( GTK_PANED(widgets.subpane), ((WGreGtk *)gre)->nav_widget);
gtk_paned_pack2( GTK_PANED(widgets.subpane), ((WGreGtk *)gre)->nav_widget, FALSE, TRUE);
gtk_widget_show_all( widgets.subpane);
gtk_paned_add1( GTK_PANED(widgets.pane), ((WGreGtk *)gre)->form_widget);
gtk_paned_add2( GTK_PANED(widgets.pane), widgets.subpane);
gtk_paned_pack1( GTK_PANED(widgets.pane), ((WGreGtk *)gre)->form_widget, TRUE, TRUE);
gtk_paned_pack2( GTK_PANED(widgets.pane), widgets.subpane, FALSE, TRUE);
gtk_widget_show_all( widgets.pane);
GtkWidget *vbox = gtk_vbox_new( FALSE, 0);
......
......@@ -17,4 +17,9 @@
060615 cs xtt Object attributes channels and signals displayed in Device table.
060628 cs glow Adjustment property (Left/Right/Center) added to annotations and table object.
060628 cs ge New Value, ValueInput and Button subgraphs with Right and Center adjustment.
060629 cs ge Format for Time and DeltaTime in table added.
\ No newline at end of file
060629 cs ge Format for Time and DeltaTime in table added.
070112 cs xtt Gtk version of xtt.
070112 cs ge Fileview for import of pwg and image files.
070112 cs xtt Font size in alarmtexts in operator window can be changed.
070112 cs xtt Nodename displayed i Xtt title.
070112 cs xtt New syntax for function key definition file (gtk version).
\ No newline at end of file
/*
* Proview $Id: flow_draw_gtk.cpp,v 1.4 2007-01-11 12:00:05 claes Exp $
* Proview $Id: flow_draw_gtk.cpp,v 1.5 2007-01-12 07:58:06 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
......@@ -1582,6 +1582,13 @@ void FlowDrawGtk::reset_image_clip_mask( FlowCtx *ctx)
void FlowDrawGtk::set_white_background( FlowCtx *ctx)
{
// background.red = int( 0.9 * 65534);
// background.green = int( 0.9 * 65534);
// background.blue = int( 0.9 * 65534);
// if ( !gdk_colormap_alloc_color( colormap, &background, TRUE, TRUE))
// return;
background = flow_allocate_color( this, "white");
// Change erase gcs
......
/*
* Proview $Id: ge_attr_gtk.cpp,v 1.1 2007-01-04 08:21:58 claes Exp $
* Proview $Id: ge_attr_gtk.cpp,v 1.2 2007-01-12 07:58:06 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
......@@ -313,27 +313,6 @@ static void attr_activate_recall_prev( GtkWidget *w, gpointer attr)
((Attr *)attr)->recall_prev();
}
#if 0
static void attr_action_inputfocus( GtkWidget w, gpointer data)
{
Arg args[1];
AttrMotif *attr;
XtSetArg (args[0], XmNuserData, &attr);
XtGetValues (w, args, 1);
if ( !attr)
return;
if ( flow_IsManaged( attr->cmd_scrolledinput))
flow_SetInputFocus( attr->cmd_scrolledinput);
else if ( flow_IsManaged( attr->cmd_input))
flow_SetInputFocus( attr->cmd_input);
else if ( attr->attrnav)
attr->attrnav->set_inputfocus();
}
#endif
AttrGtk::AttrGtk( GtkWidget *a_parent_wid,
void *a_parent_ctx,
void *a_object,
......@@ -345,8 +324,8 @@ AttrGtk::AttrGtk( GtkWidget *a_parent_wid,
int sts;
toplevel = (GtkWidget *) g_object_new( GTK_TYPE_WINDOW,
"default-height", 400,
"default-width", 300,
"default-height", 700,
"default-width", 500,
"title", "Object Attributes",
NULL);
......
/*
* Proview $Id: ge_attrnav_gtk.cpp,v 1.1 2007-01-04 08:21:58 claes Exp $
* Proview $Id: ge_attrnav_gtk.cpp,v 1.2 2007-01-12 07:58:06 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
......@@ -24,18 +24,8 @@
#include <stdio.h>
#include <stdlib.h>
extern "C" {
#include "co_cdh.h"
#include "co_time.h"
}
#include <Xm/Xm.h>
#include <Xm/XmP.h>
#include <Xm/Text.h>
#include <Mrm/MrmPublic.h>
#include <X11/Intrinsic.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include "flow.h"
#include "flow_browctx.h"
......
/*
* Proview $Id: ge_gtk.cpp,v 1.4 2007-01-11 11:40:30 claes Exp $
* Proview $Id: ge_gtk.cpp,v 1.5 2007-01-12 07:58:06 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
......@@ -1310,13 +1310,28 @@ GeGtk::GeGtk( void *x_parent_ctx,
char systemname[80];
const int window_width = 900;
const int window_height = 800;
const int palette_width = 220;
const int palette_width = 200;
pwr_tFileName fname;
char title[200];
char tmp_name[200];
char *s;
strcpy( title, "PwR Ge");
if ( graph_name) {
cdh_ToLower( tmp_name, graph_name);
tmp_name[0] = toupper( tmp_name[0]);
if ( (s = strrchr( tmp_name, '.')))
*s = 0;
strcat( title, " ");
strcat( title, tmp_name);
}
toplevel = (GtkWidget *) g_object_new( GTK_TYPE_WINDOW,
"default-height", window_height,
"default-width", window_width,
NULL);
"default-height", window_height,
"default-width", window_width,
"title", title,
NULL);
g_signal_connect( toplevel, "delete_event", G_CALLBACK(delete_event), this);
g_signal_connect( toplevel, "destroy", G_CALLBACK(destroy_event), this);
......@@ -1481,6 +1496,8 @@ GeGtk::GeGtk( void *x_parent_ctx,
GtkWidget *functions_scale_equal = gtk_menu_item_new_with_mnemonic( "_Scale Equal");
g_signal_connect( functions_scale_equal, "activate",
G_CALLBACK(activate_scale_equal), this);
gtk_widget_add_accelerator( functions_scale_equal, "activate", accel_g,
'e', GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
GtkWidget *functions_move_horizontal = gtk_menu_item_new_with_mnemonic( "_Horizontal");
......@@ -1630,6 +1647,8 @@ GeGtk::GeGtk( void *x_parent_ctx,
GtkWidget *functions_connect = gtk_menu_item_new_with_mnemonic( "_Connect");
g_signal_connect( functions_connect, "activate",
G_CALLBACK(activate_connect), this);
gtk_widget_add_accelerator( functions_connect, "activate", accel_g,
'q', GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
GtkWidget *functions_connectsecond = gtk_menu_item_new_with_mnemonic( "C_onnect Second");
g_signal_connect( functions_connectsecond, "activate",
......@@ -1638,6 +1657,8 @@ GeGtk::GeGtk( void *x_parent_ctx,
GtkWidget *functions_objectattr = gtk_menu_item_new_with_mnemonic( "_Object Attributes");
g_signal_connect( functions_objectattr, "activate",
G_CALLBACK(activate_objectattributes), this);
gtk_widget_add_accelerator( functions_objectattr, "activate", accel_g,
'a', GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
GtkWidget *functions_show_grid = gtk_menu_item_new_with_mnemonic( "S_how Grid");
g_signal_connect( functions_show_grid, "activate",
......@@ -1980,6 +2001,11 @@ GeGtk::GeGtk( void *x_parent_ctx,
g_signal_connect(tools_view_plant, "clicked", G_CALLBACK(activate_view_plant), this);
gtk_toolbar_append_widget( tools, tools_view_plant, "View plant hierarchy", "");
// Open Object attributes
GtkWidget *tools_open_object = image_button( "$pwr_exe/xtt_object.png");
g_signal_connect(tools_open_object, "clicked", G_CALLBACK(activate_objectattributes), this);
gtk_toolbar_append_widget( tools, tools_open_object, "Open selected object", "");
// Scale button
GtkWidget *tools_scale = image_button( "$pwr_exe/ge_scale.png");
g_signal_connect(tools_scale, "clicked", G_CALLBACK(activate_scale), this);
......
/*
* Proview $Id: ge_subpalette_gtk.cpp,v 1.1 2007-01-04 08:21:58 claes Exp $
* Proview $Id: ge_subpalette_gtk.cpp,v 1.2 2007-01-12 07:58:06 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
......@@ -75,24 +75,8 @@ SubPaletteGtk::~SubPaletteGtk()
void SubPaletteGtk::set_inputfocus( int focus)
{
#if 0
Arg args[2];
Pixel bg, fg;
if ( !displayed)
return;
XtVaGetValues( form_widget, XmNbackground, &bg, XmNforeground, &fg, NULL);
if ( !focus) {
XtSetArg(args[0], XmNborderColor, bg);
XtSetValues( form_widget, args, 1);
}
else {
XtCallAcceptFocus( brow_widget, CurrentTime);
XtSetArg(args[0], XmNborderColor, fg);
XtSetValues( form_widget, args, 1);
}
#endif
// TODO if ( focus) Set border ...
gtk_widget_grab_focus( brow_widget);
}
/*
* Proview $Id: ge_attrnav.cpp,v 1.15 2007-01-11 11:40:30 claes Exp $
* Proview $Id: ge_attrnav.cpp,v 1.16 2007-01-12 07:58:06 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
......@@ -1344,6 +1344,22 @@ static int attrnav_brow_cb( FlowCtx *ctx, flow_tEvent event)
attrnav->message( ' ', null_str);
switch ( event->event)
{
case flow_eEvent_Key_PageDown: {
brow_Page( attrnav->brow->ctx, 0.8);
break;
}
case flow_eEvent_Key_PageUp: {
brow_Page( attrnav->brow->ctx, -0.8);
break;
}
case flow_eEvent_ScrollDown: {
brow_Page( attrnav->brow->ctx, 0.1);
break;
}
case flow_eEvent_ScrollUp: {
brow_Page( attrnav->brow->ctx, -0.1);
break;
}
case flow_eEvent_Key_Up:
{
brow_tNode *node_list;
......@@ -1393,7 +1409,7 @@ static int attrnav_brow_cb( FlowCtx *ctx, flow_tEvent event)
}
else {
if ( !brow_IsVisible( attrnav->brow->ctx, node_list[0], flow_eVisible_Partial)) {
sts = brow_GetLastVisible( attrnav->brow->ctx, &object);
sts = brow_GetFirstVisible( attrnav->brow->ctx, &object);
if ( EVEN(sts)) return 1;
}
else {
......@@ -2013,6 +2029,14 @@ void AttrNavBrow::brow_setup()
attrnav_brow_cb);
brow_EnableEvent( ctx, flow_eEvent_Radiobutton, flow_eEventType_CallBack,
attrnav_brow_cb);
brow_EnableEvent( ctx, flow_eEvent_Key_PageUp, flow_eEventType_CallBack,
attrnav_brow_cb);
brow_EnableEvent( ctx, flow_eEvent_Key_PageDown, flow_eEventType_CallBack,
attrnav_brow_cb);
brow_EnableEvent( ctx, flow_eEvent_ScrollUp, flow_eEventType_CallBack,
attrnav_brow_cb);
brow_EnableEvent( ctx, flow_eEvent_ScrollDown, flow_eEventType_CallBack,
attrnav_brow_cb);
}
//
......
......@@ -8,7 +8,7 @@ l_clean_copy := clean_dat
clean_dat :
@ $(rm) $(rmflags) $(exe_dir)/pwr_ge_setup.dat
@ $(rm) $(rmflags) $(exe_dir)/ge_colors.dat
@ $(rm) $(rmflags) $(src_dir)/ge_colors.dat
$(exe_dir)/pwr_ge_setup.dat : pwr_ge_setup.dat
@ $(log_export)
......
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