示例#1
0
int wb_utl_motif::create_mainwindow( int argc, char **argv)
{
  Widget toplevel;
  Widget mainwindow;
  char uid_filename[200] = "pwr_exe:wb.uid";
  char *uid_filename_p = uid_filename;
  Arg args[20];
  int sts;

  MrmInitialize();

  sts = dcli_translate_filename( uid_filename, uid_filename);
  if ( EVEN(sts))
  {
    printf( "** pwr_exe is not defined\n");
    exit(0);
  }

  toplevel = XtInitialize ("AutoPrint", "svn", NULL, 0, &argc, argv);
  XtSetArg (args[0], XtNallowShellResize, TRUE);
  XtSetValues (toplevel, args, 1);

  uilutil_fetch( &uid_filename_p, 1, 0, 0,
		toplevel, (char*) "mainwindow", (char*) "svn_svn", 0, 0,
		&mainwindow, NULL );

  XtSetArg    (args[0], XmNheight, 500);
  XtSetValues (mainwindow, args, 1);
  XtManageChild(mainwindow);

  widget = mainwindow;

  return FOE__SUCCESS;
}
示例#2
0
int main( int argc, char *argv[])
{
  char		uid_filename[120] = {"pwr_exe:wb.uid"};
  char		*uid_filename_p = uid_filename;
  MrmHierarchy 	s_DRMh;
  MrmType 	dclass;
  pwr_tStatus 	sts;
  XtAppContext  app_ctx;
  char		title[80];
  Admin		*admin;
  
  dcli_translate_filename( uid_filename, uid_filename);

  // First argument is username, and second password
  strcpy( login_prv.username, "-");
  strcpy( login_prv.password, "-");
  if ( argc > 0)
    cdh_ToLower( login_prv.username, argv[1]);
  if ( argc > 1)
    cdh_ToLower( login_prv.password, argv[2]); 

  MrmInitialize();

  strcpy( title, "PwR Administrator");

  toplevel = XtVaAppInitialize (
		      &app_ctx, 
		      "PWR_ADM",
		      NULL, 0, 
		      &argc, argv, 
		      fbr, 
		      XtNallowShellResize,  True,
		      XtNtitle, title,
		      XmNmappedWhenManaged, False,
		      NULL);
    

  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  sts = MrmFetchWidget(s_DRMh, "mainwindow", toplevel,
		&mainwindow, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch mainwindow\n");

  MrmCloseHierarchy( s_DRMh);

  XtManageChild( mainwindow);

  admin = new Admin( toplevel, 0);
  admin->close_cb = &adm_close_cb;

  XtRealizeWidget( toplevel);

  XtAppMainLoop(app_ctx);
  return (0);
}
示例#3
0
/*
 *  Main program
 */
int main (int argc, char **argv)
{

    Arg arg[1] ;

    MrmInitialize ();

    /*
     *  Initialize the toolkit.  This call returns the id of a "shell,"
     *  whose only child should be the main window of the application.
     */

    CommonTestInit(argc, argv);

    XtSetArg (arg[0], XtNallowShellResize, TRUE) ;
    XtSetValues (Shell1, arg, 1) ;

    if(argc>1 && argv[1]){global_current_file=stringdup(argv[1]);}

    dpy = XtDisplay(Shell1);
    cmap = XDefaultColormap(dpy,0);

    XtGetApplicationResources(Shell1,
			      &data,
			      resources,
			      XtNumber(resources),
			      NULL,
			      0);

    /*
     *  Define the Mrm.hierarchy 
     */

    if (MrmOpenHierarchy (num_uid_files,	            /* number of files	    */
			uid_files, 	     	    /* files     	    */
			NULL,			    /* os_ext_list (null)   */
			&s_MrmHierarchy)	    /* ptr to returned id   */
			!= MrmSUCCESS) {
	printf ("Color: cannot open UID hierarchy.\n\
     Check UIDPATH environment variable\n\
     Goodbye.");
	return(0);
     }
示例#4
0
AttrMotif::AttrMotif(Widget a_parent_wid, void* a_parent_ctx, void* a_object,
    attr_sItem* itemlist, int item_cnt)
    : Attr(a_parent_ctx, a_object, itemlist, item_cnt),
      parent_wid(a_parent_wid), value_current_recall(0)
{
  char uid_filename[120] = { "pwr_exe:ge_attr.uid" };
  char* uid_filename_p = uid_filename;
  Arg args[20];
  pwr_tStatus sts;
  char title[80];
  int i;
  MrmHierarchy s_DRMh;
  MrmType dclass;
  char name[] = "Proview/R Navigator";

  static char translations[] = "<FocusIn>: attr_inputfocus()\n";
  static XtTranslations compiled_translations = NULL;

  static XtActionsRec actions[]
      = { { (char*)"attr_inputfocus", (XtActionProc)attr_action_inputfocus } };

  static MrmRegisterArg reglist[] = { { (char*)"attr_ctx", 0 },
    { (char*)"attr_activate_exit", (caddr_t)attr_activate_exit },
    { (char*)"attr_activate_store", (caddr_t)attr_activate_store },
    { (char*)"attr_activate_recall_prev", (caddr_t)attr_activate_recall_prev },
    { (char*)"attr_activate_recall_next", (caddr_t)attr_activate_recall_next },
    { (char*)"attr_activate_change_value",
        (caddr_t)attr_activate_change_value },
    { (char*)"attr_activate_help", (caddr_t)attr_activate_help },
    { (char*)"attr_create_msg_label", (caddr_t)attr_create_msg_label },
    { (char*)"attr_create_cmd_prompt", (caddr_t)attr_create_cmd_prompt },
    { (char*)"attr_create_cmd_input", (caddr_t)attr_create_cmd_input },
    { (char*)"attr_create_cmd_scrolledinput",
        (caddr_t)attr_create_cmd_scrolledinput },
    { (char*)"attr_create_cmd_scrolled_ok",
        (caddr_t)attr_create_cmd_scrolled_ok },
    { (char*)"attr_create_cmd_scrolled_ca",
        (caddr_t)attr_create_cmd_scrolled_ca },
    { (char*)"attr_create_attrnav_form", (caddr_t)attr_create_attrnav_form },
    { (char*)"attr_activate_cmd_scrolledinput",
        (caddr_t)attr_activate_cmd_input },
    { (char*)"attr_activate_cmd_scrolled_ok",
        (caddr_t)attr_activate_cmd_scrolled_ok },
    { (char*)"attr_activate_cmd_scrolled_ca",
        (caddr_t)attr_activate_cmd_scrolled_ca } };

  static int reglist_num = (sizeof reglist / sizeof reglist[0]);

  {
    char* s;

    if ((s = getenv("pwr_exe")) == NULL) {
      printf("** pwr_exe is not defined\n");
      exit(0);
    }
    sprintf(uid_filename, "%s/ge_attr.uid", s);
  }

  // Motif
  MrmInitialize();

  strcpy(title, "PROVIEW/R Attr");

  reglist[0].value = (caddr_t)this;

  // Save the context structure in the widget
  XtSetArg(args[0], XmNuserData, (XtPointer)this);

  sts = MrmOpenHierarchy(1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS)
    printf("can't open %s\n", uid_filename);

  MrmRegisterNames(reglist, reglist_num);

  parent_wid = XtCreatePopupShell(
      "objectEditor", topLevelShellWidgetClass, a_parent_wid, args, 0);

  sts = MrmFetchWidgetOverride(s_DRMh, (char*)"attr_window", parent_wid, name,
      args, 1, &toplevel, &dclass);
  if (sts != MrmSUCCESS)
    printf("can't fetch %s\n", name);

  MrmCloseHierarchy(s_DRMh);

  if (compiled_translations == NULL)
    XtAppAddActions(
        XtWidgetToApplicationContext(toplevel), actions, XtNumber(actions));

  if (compiled_translations == NULL)
    compiled_translations = XtParseTranslationTable(translations);
  XtOverrideTranslations(toplevel, compiled_translations);

  i = 0;
  XtSetArg(args[i], XmNwidth, 500);
  i++;
  XtSetArg(args[i], XmNheight, 700);
  i++;
  XtSetValues(toplevel, args, i);

  XtManageChild(toplevel);
  XtUnmanageChild(cmd_input);
  XtUnmanageChild(cmd_scrolledinput);
  XtUnmanageChild(cmd_scrolled_ok);
  XtUnmanageChild(cmd_scrolled_ca);

  attrnav = new AttrNavMotif(
      this, attrnav_form, "Plant", itemlist, item_cnt, &brow_widget, &sts);
  ((AttrNav*)attrnav)->message_cb = &Attr::message;
  ((AttrNav*)attrnav)->change_value_cb = &Attr::change_value_c;
  ((AttrNav*)attrnav)->get_subgraph_info_cb = &Attr::get_subgraph_info_c;
  ((AttrNav*)attrnav)->get_dyn_info_cb = &Attr::get_dyn_info_c;
  ((AttrNav*)attrnav)->reconfigure_attr_cb = &Attr::reconfigure_attr_c;
  ((AttrNav*)attrnav)->get_plant_select_cb = &Attr::get_plant_select_c;
  ((AttrNav*)attrnav)->get_current_colors_cb = &Attr::get_current_colors_c;

  XtPopup(parent_wid, XtGrabNone);

  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb(
      parent_wid, (XtCallbackProc)attr_activate_exit, this);
}
示例#5
0
/****************************************************************
 *
 *  Main program. Fetch UIL interface description and enter 
 *  event loop.
 *
 ****************************************************************/
int main(int argc, 
	 char *argv[])
{
  XtAppContext app_context;
  Widget       top_level, helloworld_main;
  MrmCode      mrm_class;
  char       * applresdir;

  /*
   *  This demo requires XAPPLRESDIR to be set to '.'. Mrm
   *  will only report that l_strings.uid could not be found,
   *  so, to be a little more friendly, we help the user. This
   *  it not a check that normally would be done, since the uid
   *  files would be installed in the appropriate directory.
   */

  if ((applresdir = (char *)getenv("XAPPLRESDIR")) == NULL ||
      strcmp(applresdir, ".") != 0) {
    XtError("Environment variable XAPPLRESDIR must be set to \".\"\n");
  }

  /*
   *  Set up language environment.
   */
  XtSetLanguageProc(NULL, NULL, NULL);
  
  /*
   *  Initialize MRM
   */
  
  MrmInitialize ();
  
  /* 
   * Initialize Xt and create a resizable shell 
   */
  
  top_level = XtVaAppInitialize(&app_context, "XmdHelloInt", 
				NULL, 0, &argc, argv, NULL, 
				XmNallowShellResize, True, NULL); 

  /*
   * Create the Mrm hierarchy
   */
  
  if (MrmOpenHierarchy (XtNumber(uid_vec),	    /* number of files	    */
			uid_vec, 		    /* files     	    */
			NULL,			    /* os_ext_list (null)   */
			&s_mrm_hierarchy)	    /* ptr to returned id   */
      != MrmSUCCESS) {
    XtError ("can't open hierarchy\n");
  }
  
  /*
   * Register our callback routines so that the resource manager can 
   * resolve them at widget-creation time.
   */

  if (MrmRegisterNames (reg_vec, XtNumber(reg_vec)) != MrmSUCCESS) {
    XtError("can't register names\n");
  }

  /*
   *  Call MRM to fetch and create the widgets 
   */
  
  if (MrmFetchWidget (s_mrm_hierarchy, 
		      "helloworld_main", 
		      top_level,
		      &helloworld_main, 
		      &mrm_class) != MrmSUCCESS) {
    XtError ("can't fetch interface\n");
  }
  
  /*
   * Manage the widget returned by Mrm.
   */

  XtManageChild(helloworld_main);

  /*
   * Realize the widget tree.
   */
  XtRealizeWidget(top_level);
   
  /*
   *  Loop and process events
   */
  
  XtAppMainLoop(app_context);

  /* UNREACHABLE */
  return (0);
}
示例#6
0
//
// Create the navigator widget
//
SubGraphsMotif::SubGraphsMotif(
	void *xn_parent_ctx,
	Widget	xn_parent_wid,
	const char *xn_name,
	void *xn_growctx,
	Widget *w,
	pwr_tStatus *status) :
  SubGraphs( xn_parent_ctx, xn_name, xn_growctx, status),
  parent_wid(xn_parent_wid), trace_timerid(0)	
{
  char		uid_filename[120] = "pwr_exe:ge_subgraphs.uid";
  char		*uid_filename_p = uid_filename;
  Arg 		args[20];
  pwr_tStatus	sts;
  char 		title[80];
  int		i;
  MrmHierarchy s_DRMh;
  MrmType dclass;
  char		name[] = "Proview/R Navigator";

  static MrmRegisterArg	reglist[] = {
        {(char*) "subgraphs_ctx", 0 },
	{(char*) "subgraphs_activate_exit",(caddr_t)subgraphs_activate_exit },
	{(char*) "subgraphs_activate_attr",(caddr_t)subgraphs_activate_attr },
	{(char*) "subgraphs_activate_set_extern",(caddr_t)subgraphs_activate_set_extern },
	{(char*) "subgraphs_activate_set_intern",(caddr_t)subgraphs_activate_set_intern },
	{(char*) "subgraphs_activate_help",(caddr_t)subgraphs_activate_help },
	{(char*) "subgraphs_create_sg_form",(caddr_t)subgraphs_create_sg_form }
	};
  static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

  dcli_translate_filename( uid_filename, uid_filename);

  // Create object context
  reglist[0].value = (caddr_t) this;

  // Motif
  MrmInitialize();

  strcpy( title, "Loaded SubGraphs");

  // Save the context structure in the widget
  XtSetArg (args[0], XmNuserData, (XtPointer) this);

  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  MrmRegisterNames(reglist, reglist_num);

  parent_wid = XtCreatePopupShell(title, 
		topLevelShellWidgetClass, parent_wid, args, 0);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "subgraphs_window", parent_wid,
			name, args, 1, &toplevel, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", name);

  MrmCloseHierarchy(s_DRMh);

  i = 0;
  XtSetArg(args[i],XmNwidth,500);i++;
  XtSetArg(args[i],XmNheight,1200);i++;
  XtSetValues( toplevel ,args,i);
    
  XtManageChild( toplevel);

  strcpy( name, xn_name);

  form_widget = ScrolledBrowCreate( subgraphs_form,
	name, NULL, 0, 
	SubGraphs::init_brow_cb, this, (Widget *)&brow_widget);
  XtManageChild( form_widget);


  XtPopup( parent_wid, XtGrabNone);

  // Create the root item
  *w = toplevel;

  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb( parent_wid, 
	(XtCallbackProc)subgraphs_activate_exit, this);

  *status = 1;
}
示例#7
0
XAttOneMotif::XAttOneMotif( Widget xa_parent_wid,
			    void *xa_parent_ctx, 
			    pwr_sAttrRef *xa_aref,
			    char *xa_title,
			    unsigned int xa_priv,
			    int *xa_sts) :
  XAttOne( xa_parent_ctx, xa_aref, xa_title, xa_priv, xa_sts), 
  parent_wid(xa_parent_wid), set_focus_disabled(0), value_current_recall(0)
{
  char		uid_filename[120] = {"xtt_xattone.uid"};
  char		*uid_filename_p = uid_filename;
  Arg 		args[20];
  pwr_tStatus	sts;
  pwr_tAName   	title;
  int		i;
  MrmHierarchy s_DRMh;
  MrmType dclass;
  char		name[] = "Proview/R Navigator";

  static char translations[] =
    "<FocusIn>: xao_inputfocus()\n";
  static XtTranslations compiled_translations = NULL;

  static XtActionsRec actions[] =
  {
    {(char*) "xao_inputfocus",      (XtActionProc) action_inputfocus}
  };

  static MrmRegisterArg	reglist[] = {
        {(char*) "xao_ctx", 0 },
	{(char*) "xao_activate_exit",(caddr_t)activate_exit },
	{(char*) "xao_activate_help",(caddr_t)activate_help },
	{(char*) "xao_create_msg_label",(caddr_t)create_msg_label },
	{(char*) "xao_create_cmd_prompt",(caddr_t)create_cmd_prompt },
	{(char*) "xao_create_cmd_input",(caddr_t)create_cmd_input },
	{(char*) "xao_create_cmd_label",(caddr_t)create_cmd_label },
	{(char*) "xao_create_cmd_scrolledinput",(caddr_t)create_cmd_scrolledinput },
	{(char*) "xao_create_cmd_scrolled_ok",(caddr_t)create_cmd_scrolled_ok },
	{(char*) "xao_create_cmd_scrolled_ap",(caddr_t)create_cmd_scrolled_ap },
	{(char*) "xao_create_cmd_scrolled_ca",(caddr_t)create_cmd_scrolled_ca },
	{(char*) "xao_activate_cmd_scrolledinput",(caddr_t)activate_cmd_input },
	{(char*) "xao_activate_cmd_scrolled_ok",(caddr_t)activate_cmd_scrolled_ok },
	{(char*) "xao_activate_cmd_scrolled_ap",(caddr_t)activate_cmd_scrolled_ap },
	{(char*) "xao_activate_cmd_scrolled_ca",(caddr_t)activate_cmd_scrolled_ca }
	};

  static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

  // for ( i = 0; i < int(sizeof(value_recall)/sizeof(value_recall[0])); i++)
  //  value_recall[i][0] = 0;

  Lng::get_uid( uid_filename, uid_filename);

  // Create object context
//  attrctx->close_cb = close_cb;
//  attrctx->redraw_cb = redraw_cb;

  // Motif
  MrmInitialize();

  *xa_sts = gdh_AttrrefToName( &aref, title, sizeof(title), cdh_mNName);
  if ( EVEN(*xa_sts)) return;

  reglist[0].value = (caddr_t) this;

  // Save the context structure in the widget
  i = 0;
  XtSetArg (args[i], XmNuserData, (XtPointer) this);i++;
  XtSetArg( args[i], XmNdeleteResponse, XmDO_NOTHING);i++;

  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  MrmRegisterNames(reglist, reglist_num);

  parent_wid = XtCreatePopupShell( title, 
		topLevelShellWidgetClass, parent_wid, args, i);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "xao_window", parent_wid,
			name, args, 1, &toplevel, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", name);

  MrmCloseHierarchy(s_DRMh);


  if (compiled_translations == NULL) 
    XtAppAddActions( XtWidgetToApplicationContext(toplevel), 
						actions, XtNumber(actions));
 
  if (compiled_translations == NULL) 
    compiled_translations = XtParseTranslationTable(translations);
  XtOverrideTranslations( toplevel, compiled_translations);

  i = 0;
  XtSetArg(args[i],XmNwidth,420);i++;
  XtSetArg(args[i],XmNheight,120);i++;
  XtSetValues( toplevel ,args,i);
    
  if ( priv & pwr_mPrv_RtWrite || priv & pwr_mPrv_System)
    access_rw = 1;
  else
    access_rw = 0;

  XtManageChild( toplevel);
  if ( access_rw) 
    XtUnmanageChild( cmd_label);
  else {
    XtUnmanageChild( cmd_input);
    XtUnmanageChild( cmd_scrolled_ok);
    XtUnmanageChild( cmd_scrolled_ap);
  }
  XtUnmanageChild( cmd_scrolledinput);


  XtPopup( parent_wid, XtGrabNone);

  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb( parent_wid,
	(XtCallbackProc)activate_exit, this);

  change_value( 1);

  *xa_sts = XATT__SUCCESS;
}
示例#8
0
XttMotif::XttMotif( int argc, char *argv[], int *return_sts) :
  Xtt( &argc, &argv, return_sts),
  cmd_current_recall(0), value_current_recall(0) 
{
  char		uid_filename[120] = {"xtt.uid"};
  char		*uid_filename_p = uid_filename;
  Arg 		args[20];
  pwr_tStatus	sts;
  int		i;
  XtAppContext  app_ctx;
  MrmHierarchy s_DRMh;
  MrmType dclass;
  Widget	xtt_widget;
  char		title[120] = "Xtt ";
  char		nodename[80];

  static char translations[] =
    "<FocusIn>: xtt_inputfocus()\n";
  static XtTranslations compiled_translations = NULL;

  static XtActionsRec actions[] =
  {
    {(char*) "xtt_inputfocus",      (XtActionProc) action_inputfocus}
  };

  static MrmRegisterArg	reglist[] = {
        {(char*) "xtt_ctx", 0 },
	{(char*) "xtt_activate_exit",(caddr_t)activate_exit },
	{(char*) "xtt_activate_print",(caddr_t)activate_print },
	{(char*) "xtt_activate_find",(caddr_t)activate_find },
	{(char*) "xtt_activate_findregex",(caddr_t)activate_findregex },
	{(char*) "xtt_activate_findnext",(caddr_t)activate_findnext },
	{(char*) "xtt_activate_collapse",(caddr_t)activate_collapse },
	{(char*) "xtt_activate_openobject",(caddr_t)activate_openobject },
	{(char*) "xtt_activate_openplc",(caddr_t)activate_openplc },
	{(char*) "xtt_activate_opengraph",(caddr_t)activate_opengraph },
	{(char*) "xtt_activate_showcrossref",(caddr_t)activate_showcrossref },
	{(char*) "xtt_activate_change_value",(caddr_t)activate_change_value },
	{(char*) "xtt_activate_command",(caddr_t)activate_command },
	{(char*) "xtt_activate_collect_insert",(caddr_t)activate_collect_insert },
	{(char*) "xtt_activate_collect_show",(caddr_t)activate_collect_show },
	{(char*) "xtt_activate_collect_remove",(caddr_t)activate_collect_remove },
	{(char*) "xtt_activate_collect_clear",(caddr_t)activate_collect_clear },
	{(char*) "xtt_activate_advanceduser",(caddr_t)activate_advanceduser },
	{(char*) "xtt_activate_zoom_in",(caddr_t)activate_zoom_in },
	{(char*) "xtt_activate_zoom_out",(caddr_t)activate_zoom_out },
	{(char*) "xtt_activate_zoom_reset",(caddr_t)activate_zoom_reset },
	{(char*) "xtt_activate_help",(caddr_t)activate_help },
	{(char*) "xtt_activate_help_project",(caddr_t)activate_help_project },
	{(char*) "xtt_activate_help_proview",(caddr_t)activate_help_proview },
	{(char*) "xtt_create_msg_label",(caddr_t)create_msg_label },
	{(char*) "xtt_create_cmd_prompt",(caddr_t)create_cmd_prompt },
	{(char*) "xtt_create_cmd_input",(caddr_t)create_cmd_input },
	{(char*) "xtt_create_xnav_form",(caddr_t)create_xnav_form },
	{(char*) "xtt_activate_india_ok",(caddr_t)activate_india_ok },
	{(char*) "xtt_activate_india_cancel",(caddr_t)activate_india_cancel },
	{(char*) "xtt_create_india_label",(caddr_t)create_india_label },
	{(char*) "xtt_create_india_text",(caddr_t)create_india_text }
	};

  static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

  syi_NodeName( &sts, nodename, sizeof(nodename));
  if ( ODD(sts))
    strcat( title, nodename);

  // Motif
  Lng::get_uid( uid_filename, uid_filename);
  MrmInitialize();

  toplevel = XtVaAppInitialize (
		      &app_ctx, 
		      "Rt_xtt",
		      NULL, 0, 
		      &argc, argv, 
		      fbr, 
		      XtNallowShellResize,  True,
		      XtNtitle, title,
		      XmNmappedWhenManaged, True,
		      NULL);

  reglist[0].value = (caddr_t) this;

  if (compiled_translations == NULL) 
    XtAppAddActions( XtWidgetToApplicationContext(toplevel), 
						actions, XtNumber(actions));
 
  // Save the context structure in the widget
  i = 0;
  XtSetArg( args[i], XmNuserData, (XtPointer) this);i++;

  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  MrmRegisterNames(reglist, reglist_num);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "xtt_window", toplevel,
			title, args, i, &xtt_widget, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch xtt_window\n");

  sts = MrmFetchWidget(s_DRMh, (char*) "input_dialog", toplevel,
  		&india_widget, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch input dialog\n");

  MrmCloseHierarchy(s_DRMh);


  if (compiled_translations == NULL) 
    compiled_translations = XtParseTranslationTable(translations);
  XtOverrideTranslations( xtt_widget, compiled_translations);

  i = 0;
  XtSetArg(args[i],XmNwidth,350);i++;
  XtSetArg(args[i],XmNheight,600);i++;
  XtSetArg(args[i], XmNdeleteResponse, XmDO_NOTHING);i++;
  XtSetValues( toplevel ,args,i);
    
  XtManageChild( xtt_widget);
  XtUnmanageChild( cmd_input);

  xnav = new XNavMotif( this, xnav_form, "Plant",
		&brow_widget, (xnav_sStartMenu *)root_menu, 
		opplace_str, op_close_button, &sts);
  xnav->message_cb = &xtt_message_cb;
  xnav->close_cb = &close;
  xnav->map_cb = &map;
  xnav->change_value_cb = &change_value;
  xnav->set_dimension_cb = &set_dimension;
  xnav->attach_audio = attach_audio;

  // Create help window
  CoXHelp *xhelp = new CoXHelpMotif( toplevel, this, xhelp_eUtility_Xtt, &sts);
  xhelp->open_URL_cb = open_URL_cb;
  CoXHelp::set_default( xhelp);

  XtRealizeWidget( toplevel);

  if ( !xnav->is_authorized( pwr_mAccess_AllRt, 0))
    xnav->open_login();

  wow = new CoWowMotif( toplevel);
  if ( !quiet)
    wow->DisplayWarranty();

//  XmProcessTraversal( xnav->brow_widget, XmTRAVERSE_CURRENT);
//  xnav->set_inputfocus();

  init_hotkey( app_ctx, toplevel);

  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb( toplevel, 
	(XtCallbackProc)activate_exit, this);

  if ( xnav->op)
    close( this, 0);

  timerid = wow->timer_new();

  // Start timer to check for qcom events
  timerid->add( 1000, qcom_events, this);

  xtt_mainloop( app_ctx);  
}
示例#9
0
WdaMotif::WdaMotif( 
	Widget 		wa_parent_wid,
	void 		*wa_parent_ctx, 
	ldh_tSesContext wa_ldhses, 
	pwr_tObjid 	wa_objid,
	pwr_tClassId 	wa_classid,
	const char      *wa_attribute,
	int 		wa_editmode,
	int 		wa_advanced_user,
	int		wa_display_objectname) :
  Wda(wa_parent_ctx,wa_ldhses,wa_objid,wa_classid,wa_attribute,wa_editmode,
      wa_advanced_user,wa_display_objectname), 
  parent_wid(wa_parent_wid), set_focus_disabled(0), value_current_recall(0)
{
  char		uid_filename[120] = {"pwr_exe:wb_wda.uid"};
  char		*uid_filename_p = uid_filename;
  Arg 		args[20];
  pwr_tStatus	sts;
  char 		title[80];
  int		i;
  MrmHierarchy s_DRMh;
  MrmType dclass;
  char		name[] = "Proview/R Navigator";

  static char translations[] =
    "<FocusIn>: wda_inputfocus()\n";
  static XtTranslations compiled_translations = NULL;

  static XtActionsRec actions[] =
  {
    {(char*) "wda_inputfocus",      (XtActionProc) action_inputfocus}
  };

  static MrmRegisterArg	reglist[] = {
        {(char*) "wda_ctx", 0 },
	{(char*) "wda_activate_setclass",(caddr_t)activate_setclass },
	{(char*) "wda_activate_setattr",(caddr_t)activate_setattr },
	{(char*) "wda_activate_nextattr",(caddr_t)activate_nextattr },
	{(char*) "wda_activate_prevattr",(caddr_t)activate_prevattr },
	{(char*) "wda_activate_exit",(caddr_t)activate_exit },
	{(char*) "wda_activate_print",(caddr_t)activate_print },
	{(char*) "wda_activate_change_value",(caddr_t)activate_change_value },
	{(char*) "wda_activate_close_changeval",(caddr_t)activate_close_changeval },
	{(char*) "wda_activate_help",(caddr_t)activate_help },
	{(char*) "wda_create_msg_label",(caddr_t)create_msg_label },
	{(char*) "wda_create_cmd_prompt",(caddr_t)create_cmd_prompt },
	{(char*) "wda_create_cmd_input",(caddr_t)create_cmd_input },
	{(char*) "wda_create_cmd_scrolledinput",(caddr_t)create_cmd_scrolledinput },
	{(char*) "wda_create_cmd_scrolled_ok",(caddr_t)create_cmd_scrolled_ok },
	{(char*) "wda_create_cmd_scrolled_ca",(caddr_t)create_cmd_scrolled_ca },
	{(char*) "wda_create_wdanav_form",(caddr_t)create_wdanav_form },
	{(char*) "wda_activate_cmd_scrolledinput",(caddr_t)activate_cmd_input },
	{(char*) "wda_activate_cmd_scrolled_ok",(caddr_t)activate_cmd_scrolled_ok },
	{(char*) "wda_activate_cmd_scrolled_ca",(caddr_t)activate_cmd_scrolled_ca },
	{(char*) "wdaclass_activate_ok",(caddr_t)class_activate_ok },
	{(char*) "wdaclass_activate_cancel",(caddr_t)class_activate_cancel },
	{(char*) "wdaclass_create_hiervalue",(caddr_t)class_create_hiervalue },
	{(char*) "wdaclass_create_classvalue",(caddr_t)class_create_classvalue },
	{(char*) "wdaclass_create_attrobjects",(caddr_t)class_create_attrobjects }
	};

  static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

  // for ( i = 0; i < int(sizeof(value_recall)/sizeof(value_recall[0])); i++)
  //  value_recall[i][0] = 0;

  dcli_translate_filename( uid_filename, uid_filename);

  // Create object context
//  attrctx->close_cb = close_cb;
//  attrctx->redraw_cb = redraw_cb;

  // Motif
  MrmInitialize();

  strcpy( title, "PwR Object attributes");

  reglist[0].value = (caddr_t) this;

  // Save the context structure in the widget
  XtSetArg (args[0], XmNuserData, (XtPointer) this);

  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  MrmRegisterNames(reglist, reglist_num);

  parent_wid = XtCreatePopupShell("spreadSheetEditor", 
		topLevelShellWidgetClass, parent_wid, args, 0);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "wda_window", parent_wid,
			name, args, 1, &toplevel, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", name);

  sts = MrmFetchWidget(s_DRMh, (char*) "wdaclass_dia", parent_wid,
		&wdaclass_dia, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch class input dialog\n");

  MrmCloseHierarchy(s_DRMh);


  if (compiled_translations == NULL) 
    XtAppAddActions( XtWidgetToApplicationContext(toplevel), 
						actions, XtNumber(actions));
 
  if (compiled_translations == NULL) 
    compiled_translations = XtParseTranslationTable(translations);
  XtOverrideTranslations( toplevel, compiled_translations);

  i = 0;
  XtSetArg(args[i],XmNwidth,800);i++;
  XtSetArg(args[i],XmNheight,600);i++;
  XtSetValues( toplevel ,args,i);
    
  XtManageChild( toplevel);
  XtUnmanageChild( cmd_input);
  XtUnmanageChild( cmd_scrolledinput);
  XtUnmanageChild( cmd_scrolled_ok);
  XtUnmanageChild( cmd_scrolled_ca);

  utility = ((WUtility *)parent_ctx)->utype;
  wdanav = new WdaNavMotif( (void *)this, wdanav_form, "Plant",
		ldhses, objid, classid, attribute, wa_editmode,
		wa_advanced_user,
		wa_display_objectname, utility, &brow_widget, &sts);
  ((WdaNav *)wdanav)->message_cb = &Wda::message_cb;
  ((WdaNav *)wdanav)->change_value_cb = &Wda::change_value_cb;

  XtPopup( parent_wid, XtGrabNone);

  wow = new CoWowMotif( parent_wid);

  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb( parent_wid, 
	(XtCallbackProc)activate_exit, this);

  if ( utility == wb_eUtility_Wtt)
  {
    ((Wtt *)parent_ctx)->register_utility( (void *) this,
	wb_eUtility_SpreadsheetEditor);
  }
}
示例#10
0
int	main(     int     argc,
		  char    *argv[])
{
	
    MrmInitialize();
	
	appshell = XtAppInitialize(&appContext,"GreatSPN_Motif",NULL,0,&argc,argv,fallback,NULL,0);
#ifdef Linux
   /* Enables the application to talk with editres.
      For debug purposes only */
/*   XmdRegisterEditres(appshell);*/
#endif
	OpenHierarchy();

  	if (MrmRegisterNames (regvec, regnum)
			!= MrmSUCCESS)
			    XtError("can't register names\n");	
	RegisterArcChangeDialog();
	RegisterColorChangeDialog();
	RegisterPlaceChangeDialog();
	RegisterTransChangeDialog();
	RegisterShowDialog();
	RegisterResultDialog();
	RegisterRateDialog();
	RegisterPrintDialog();
	RegisterMDGrammarDialog();
	RegisterMarkDialog();
	RegisterViewLayerDialog();
	RegisterEditLayerDialog();
	RegisterConsoleDialog();
	RegisterCommentDialog();
	RegisterZooomMenuCallbacks();
	RegisterMenuCallbacks();
	RegisterRescale();
	RegisterGrid();
	RegisterMenuValues();
	RegisterOptionsDialog();
	RegisterSimulationDialog();
	RegisterSwnSimOptionsDialog();
	RegisterSwnRGOptionsDialog();
	RegisterSwnUnfoldOptionsDialog();
	
/*    puts(" ...  start FetchWidget"); fflush(stdout);*/
	mainwin = FetchWidget(appshell,"MainWin");
	
/*    puts(" ...  start InitMainWindow"); fflush(stdout);*/
    InitMainWindow();
/*    puts(" ...  start InitWorkWindow"); fflush(stdout);*/
    InitWorkWindow();
/*    puts(" ...  start InitFonts"); fflush(stdout);*/
    InitFonts();
/*    puts(" ...  start InitMenuBar"); fflush(stdout);*/
    InitMenuBar();
/*    puts(" ...  start InitPopups"); fflush(stdout);*/
    InitPopups();
			
/*    puts(" ...  start XtManageChild"); fflush(stdout);*/
	XtManageChild( mainwin );
/*    puts(" ...  start XtRealizeWidget"); fflush(stdout);*/
    XtRealizeWidget( appshell );
/*    puts(" ...  start InitFilesPath"); fflush(stdout);*/
	InitFilesPath();
/*    puts(" ...  start InitGSPNShellErrors"); fflush(stdout);*/
	InitGSPNShellErrors();
/*    puts(" ...  start gdiInitEngine"); fflush(stdout);*/
	gdiInitEngine(appshell);
/*    puts(" ...  start gdiInitDrawingAreaGC"); fflush(stdout);*/
    gdiInitDrawingAreaGC();
/*    puts(" ...  start InitOther"); fflush(stdout);*/
	InitOther();  
/*
    InitMsgDB();
*/
/*    puts(" ...  start XmUpdateDisplay"); fflush(stdout);*/
    XmUpdateDisplay(mainwin);
/*    puts(" ...  start XtAppMainLoop"); fflush(stdout);*/
    XtAppMainLoop(appContext);

    return 0;
}
示例#11
0
CLogMotif::CLogMotif( void *clog_parent_ctx,
		      Widget	clog_parent_wid,
		      const char *clog_name,
		      pwr_tStatus *status) :
  CLog( clog_parent_ctx, clog_name, status), parent_wid(clog_parent_wid),
  clock_cursor(0)
{
  char		uid_filename[120] = {"xtt_clog.uid"};
  char		*uid_filename_p = uid_filename;
  Arg 		args[20];
  pwr_tStatus	sts;
  int		i;
  MrmHierarchy s_DRMh;
  MrmType dclass;

  static char clog_translations[] =
    "<FocusIn>: clog_inputfocus()\n";
  static XtTranslations clog_compiled_translations = NULL;
  static XtActionsRec clog_actions[] =
  {
    {(char*) "clog_inputfocus",      (XtActionProc) action_inputfocus}
  };

  static MrmRegisterArg	reglist[] = {
        {(char*) "clog_ctx", 0 },
	{(char*) "clog_activate_exit",(caddr_t)activate_exit },
	{(char*) "clog_activate_select_file",(caddr_t)activate_select_file },
	{(char*) "clog_activate_next_file",(caddr_t)activate_next_file },
	{(char*) "clog_activate_prev_file",(caddr_t)activate_prev_file },
	{(char*) "clog_activate_update",(caddr_t)activate_update },
	{(char*) "clog_activate_zoom_in",(caddr_t)activate_zoom_in },
	{(char*) "clog_activate_zoom_out",(caddr_t)activate_zoom_out },
	{(char*) "clog_activate_zoom_reset",(caddr_t)activate_zoom_reset },
	{(char*) "clog_activate_filter",(caddr_t)activate_filter },
	{(char*) "clog_activate_help",(caddr_t)activate_help },
	{(char*) "clog_activate_helpmsg",(caddr_t)activate_helpmsg },
	{(char*) "clog_create_form",(caddr_t)create_form },
	{(char*) "clog_filter_tog_cr",(caddr_t)filter_tog_cr },
	{(char*) "clog_filter_string_cr",(caddr_t)filter_string_cr },
	{(char*) "clog_filter_act_but_cb",(caddr_t)filter_act_but_cb },
	{(char*) "clog_filesel_ok_cb",(caddr_t)filesel_ok_cb },
	{(char*) "clog_filesel_cancel_cb",(caddr_t)filesel_cancel_cb },
	{(char*) "clog_filesel_list_cr",(caddr_t)filesel_list_cr }
	};
  static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

  *status = 1;

  Lng::get_uid( uid_filename, uid_filename);

  reglist[0].value = (caddr_t) this;

  // Motif
  MrmInitialize();


  // Save the context structure in the widget
  i = 0;
  XtSetArg(args[i], XmNuserData, (XtPointer) this);i++;
  XtSetArg(args[i], XmNdeleteResponse, XmDO_NOTHING);i++;

  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  MrmRegisterNames(reglist, reglist_num);

  parent_wid_clog = XtCreatePopupShell( clog_name, 
		topLevelShellWidgetClass, parent_wid, args, i);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "clog_window", parent_wid_clog,
			(char*) clog_name, args, 1, &toplevel, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", clog_name);

  sts = MrmFetchWidget(s_DRMh, (char*) "filterForm", toplevel,
		&filter_form, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch filter dialog\n");

  sts = MrmFetchWidget(s_DRMh, (char*) "fileselForm", toplevel,
		&filesel_form, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch filesel dialog\n");

  MrmCloseHierarchy(s_DRMh);

  if ( clog_compiled_translations == NULL) 
  {
    XtAppAddActions( XtWidgetToApplicationContext( toplevel), 
		clog_actions, XtNumber(clog_actions));
    clog_compiled_translations = XtParseTranslationTable( clog_translations);
  }
  XtOverrideTranslations( toplevel, clog_compiled_translations);

  i = 0;
  XtSetArg(args[i],XmNwidth,1000);i++;
  XtSetArg(args[i],XmNheight,800);i++;
  XtSetValues( toplevel ,args,i);
    
  XtManageChild( toplevel);

  // Create clognav
  clognav = new CLogNavMotif( this, form_clog, &clognav_widget);

  XtPopup( parent_wid_clog, XtGrabNone);

  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb( parent_wid_clog, 
	(XtCallbackProc)activate_exit, this);

  wow = new CoWowMotif( toplevel);

  *status = 1;
}
示例#12
0
EvMotif::EvMotif( void *ev_parent_ctx,
		  Widget	ev_parent_wid,
		  char *eve_name,
		  char *ala_name,
		  char *blk_name,
		  pwr_tObjid ev_user,
		  int display_ala,
		  int display_eve,
		  int display_blk,
		  int display_return,
		  int display_ack,
		  int ev_beep,
		  pwr_tMask ev_pop_mask,
		  int ev_eventname_seg,
		  pwr_tStatus *status) :
  Ev( ev_parent_ctx, eve_name, ala_name, blk_name, ev_user, display_ala, display_eve,
      display_blk, display_return, display_ack, ev_beep, ev_pop_mask, ev_eventname_seg, status),
  parent_wid(ev_parent_wid), parent_wid_eve(NULL), parent_wid_ala(NULL)
{
  char		uid_filename[120] = {"xtt_eve.uid"};
  char		*uid_filename_p = uid_filename;
  Arg 		args[20];
  pwr_tStatus	sts;
  int		i;
  pwr_sClass_User	*userobject_ptr;
  MrmHierarchy s_DRMh;
  MrmType dclass;

  static char eve_translations[] =
    "<FocusIn>: eve_inputfocus()\n";
  static char ala_translations[] =
    "<FocusIn>: ala_inputfocus()\n";
  static char blk_translations[] =
    "<FocusIn>: blk_inputfocus()\n";
  static XtTranslations eve_compiled_translations = NULL;
  static XtTranslations ala_compiled_translations = NULL;
  static XtTranslations blk_compiled_translations = NULL;

  static XtActionsRec eve_actions[] =
  {
    {(char*) "eve_inputfocus",      (XtActionProc) eve_action_inputfocus}
  };
  static XtActionsRec ala_actions[] =
  {
    {(char*) "ala_inputfocus",      (XtActionProc) ala_action_inputfocus}
  };
  static XtActionsRec blk_actions[] =
  {
    {(char*) "blk_inputfocus",      (XtActionProc) blk_action_inputfocus}
  };

  static MrmRegisterArg	reglist[] = {
        {(char*) "ev_ctx", 0 },
	{(char*) "ev_eve_activate_exit",(caddr_t)eve_activate_exit },
	{(char*) "ev_eve_activate_print",(caddr_t)eve_activate_print },
	{(char*) "ev_eve_activate_ack_last",(caddr_t)eve_activate_ack_last },
	{(char*) "ev_eve_activate_zoom_in",(caddr_t)eve_activate_zoom_in },
	{(char*) "ev_eve_activate_zoom_out",(caddr_t)eve_activate_zoom_out },
	{(char*) "ev_eve_activate_zoom_reset",(caddr_t)eve_activate_zoom_reset },
	{(char*) "ev_eve_activate_open_plc",(caddr_t)eve_activate_open_plc },
	{(char*) "ev_eve_activate_display_in_xnav",(caddr_t)eve_activate_display_in_xnav },
	{(char*) "ev_eve_activate_disp_hundredth",(caddr_t)eve_activate_disp_hundredth },
	{(char*) "ev_eve_activate_hide_object",(caddr_t)eve_activate_hide_object },
	{(char*) "ev_eve_activate_hide_text",(caddr_t)eve_activate_hide_text },
	{(char*) "ev_eve_activate_help",(caddr_t)eve_activate_help },
	{(char*) "ev_eve_activate_helpevent",(caddr_t)eve_activate_helpevent },
	{(char*) "ev_eve_create_form",(caddr_t)eve_create_form },
	{(char*) "ev_ala_activate_exit",(caddr_t)ala_activate_exit },
	{(char*) "ev_ala_activate_print",(caddr_t)ala_activate_print },
	{(char*) "ev_ala_activate_ack_last",(caddr_t)ala_activate_ack_last },
	{(char*) "ev_ala_activate_zoom_in",(caddr_t)ala_activate_zoom_in },
	{(char*) "ev_ala_activate_zoom_out",(caddr_t)ala_activate_zoom_out },
	{(char*) "ev_ala_activate_zoom_reset",(caddr_t)ala_activate_zoom_reset },
	{(char*) "ev_ala_activate_open_plc",(caddr_t)ala_activate_open_plc },
	{(char*) "ev_ala_activate_display_in_xnav",(caddr_t)ala_activate_display_in_xnav },
	{(char*) "ev_ala_activate_disp_hundredth",(caddr_t)ala_activate_disp_hundredth },
	{(char*) "ev_ala_activate_hide_object",(caddr_t)ala_activate_hide_object },
	{(char*) "ev_ala_activate_hide_text",(caddr_t)ala_activate_hide_text },
	{(char*) "ev_ala_activate_help",(caddr_t)ala_activate_help },
	{(char*) "ev_ala_activate_helpevent",(caddr_t)ala_activate_helpevent },
	{(char*) "ev_ala_create_form",(caddr_t)ala_create_form },
	{(char*) "ev_blk_activate_exit",(caddr_t)blk_activate_exit },
	{(char*) "ev_blk_activate_print",(caddr_t)blk_activate_print },
	{(char*) "ev_blk_activate_zoom_in",(caddr_t)blk_activate_zoom_in },
	{(char*) "ev_blk_activate_zoom_out",(caddr_t)blk_activate_zoom_out },
	{(char*) "ev_blk_activate_zoom_reset",(caddr_t)blk_activate_zoom_reset },
	{(char*) "ev_blk_activate_block_remove",(caddr_t)blk_activate_block_remove },
	{(char*) "ev_blk_activate_open_plc",(caddr_t)blk_activate_open_plc },
	{(char*) "ev_blk_activate_display_in_xnav",(caddr_t)blk_activate_display_in_xnav },
	{(char*) "ev_blk_activate_help",(caddr_t)blk_activate_help },
	{(char*) "ev_blk_create_form",(caddr_t)blk_create_form }
	};
  static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

  *status = 1;

  Lng::get_uid( uid_filename, uid_filename);

  // Check user object
  if ( cdh_ObjidIsNull( user))
  {
    *status = XNAV__NOUSER;
    return;
  }

  sts = gdh_ObjidToPointer ( user, (pwr_tAddress *) &userobject_ptr);
  if ( EVEN(sts)) 
  {
    *status = XNAV__NOUSER;
    return;
  }
  ala_size = userobject_ptr->MaxNoOfAlarms;
  eve_size = userobject_ptr->MaxNoOfEvents;
  blk_size = 0;
  create_aliaslist( userobject_ptr);

  reglist[0].value = (caddr_t) this;

  // Motif
  MrmInitialize();


  // Save the context structure in the widget
  i = 0;
  XtSetArg(args[i], XmNuserData, (XtPointer) this);i++;
  XtSetArg(args[i], XmNdeleteResponse, XmDO_NOTHING);i++;

  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  MrmRegisterNames(reglist, reglist_num);

  parent_wid_eve = XtCreatePopupShell( eve_name, 
		topLevelShellWidgetClass, parent_wid, args, i);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "eve_window", parent_wid_eve,
			eve_name, args, 1, &toplevel_eve, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", eve_name);

  parent_wid_ala = XtCreatePopupShell( ala_name, 
		topLevelShellWidgetClass, parent_wid, args, i);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "ala_window", parent_wid_ala,
			ala_name, args, 1, &toplevel_ala, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", ala_name);

  parent_wid_blk = XtCreatePopupShell( blk_name, 
		topLevelShellWidgetClass, parent_wid, args, i);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "blk_window", parent_wid_blk,
			blk_name, args, 1, &toplevel_blk, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", blk_name);

  MrmCloseHierarchy(s_DRMh);

  if ( eve_compiled_translations == NULL) 
  {
    XtAppAddActions( XtWidgetToApplicationContext( toplevel_eve), 
		eve_actions, XtNumber(eve_actions));
    eve_compiled_translations = XtParseTranslationTable( eve_translations);
  }
  XtOverrideTranslations( toplevel_eve, eve_compiled_translations);

  if ( ala_compiled_translations == NULL) 
  {
    XtAppAddActions( XtWidgetToApplicationContext( toplevel_ala), 
		ala_actions, XtNumber(ala_actions));
    ala_compiled_translations = XtParseTranslationTable( ala_translations);
  }
  XtOverrideTranslations( toplevel_ala, ala_compiled_translations);

  if ( blk_compiled_translations == NULL) 
  {
    XtAppAddActions( XtWidgetToApplicationContext( toplevel_blk), 
		blk_actions, XtNumber(blk_actions));
    blk_compiled_translations = XtParseTranslationTable( blk_translations);
  }
  XtOverrideTranslations( toplevel_blk, blk_compiled_translations);

  i = 0;
  XtSetArg(args[i],XmNwidth,700);i++;
  XtSetArg(args[i],XmNheight,600);i++;
  XtSetValues( toplevel_eve ,args,i);
    
  i = 0;
  XtSetArg(args[i],XmNwidth,700);i++;
  XtSetArg(args[i],XmNheight,300);i++;
  XtSetValues( toplevel_ala ,args,i);
    
  i = 0;
  XtSetArg(args[i],XmNwidth,700);i++;
  XtSetArg(args[i],XmNheight,300);i++;
  XtSetValues( toplevel_blk ,args,i);
    
  XtManageChild( toplevel_eve);
  XtManageChild( toplevel_ala);
  XtManageChild( toplevel_blk);

  // Create ala and eve...
  eve = new EvListMotif( this, form_eve, ev_eType_EventList, eve_size, eventname_seg, &eve_widget);
  eve->start_trace_cb = &eve_start_trace_cb;
  eve->display_in_xnav_cb = &eve_display_in_xnav_cb;
  eve->name_to_alias_cb = &ev_name_to_alias_cb;
  eve->popup_menu_cb = &ev_popup_menu_cb;

  ala = new EvListMotif( this, form_ala, ev_eType_AlarmList, ala_size, eventname_seg, &ala_widget);
  ala->start_trace_cb = &ala_start_trace_cb;
  ala->display_in_xnav_cb = &ala_display_in_xnav_cb;
  ala->name_to_alias_cb = &ev_name_to_alias_cb;
  ala->popup_menu_cb = &ev_popup_menu_cb;
  ala->sound_cb = &ev_sound_cb;

  blk = new EvListMotif( this, form_blk, ev_eType_BlockList, blk_size, eventname_seg, &blk_widget);
  blk->start_trace_cb = &blk_start_trace_cb;
  blk->display_in_xnav_cb = &blk_display_in_xnav_cb;
  blk->popup_menu_cb = &ev_popup_menu_cb;
  // blk->hide_text = 1;

//  XtManageChild( form_widget);

  if ( display_eve) {
    XtPopup( parent_wid_eve, XtGrabNone);
    eve_displayed = 1;
  }
  else
    XtRealizeWidget( parent_wid_eve);

  if ( display_ala) {
    XtPopup( parent_wid_ala, XtGrabNone);
    ala_displayed = 1;
  }
  else
    XtRealizeWidget( parent_wid_ala);

  if ( display_blk) {
    XtPopup( parent_wid_blk, XtGrabNone);
    blk_displayed = 1;
  }
  else
    XtRealizeWidget( parent_wid_blk);


  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb( parent_wid_eve, 
	(XtCallbackProc)eve_activate_exit, this);
  flow_AddCloseVMProtocolCb( parent_wid_ala, 
	(XtCallbackProc)ala_activate_exit, this);
  flow_AddCloseVMProtocolCb( parent_wid_blk, 
	(XtCallbackProc)blk_activate_exit, this);

  wow = new CoWowMotif( toplevel_ala);

  // Store this for the mh callbacks
  ev = this;

  sts = outunit_connect( user);
  if ( EVEN(sts))
    *status = sts;
}
示例#13
0
CoXHelpMotif::CoXHelpMotif( 
	Widget 		xa_parent_wid,
	void 		*xa_parent_ctx,
	xhelp_eUtility	utility,
        int             *xa_sts) :
 	CoXHelp(xa_parent_ctx,utility,xa_sts), parent_wid(xa_parent_wid)
{
  char		uid_filename[120] = {"xtt_xhelp.uid"};
  char		*uid_filename_p = uid_filename;
  Arg 		args[20];
  pwr_tStatus	sts;
  char 		title[80];
  int		i;
  MrmHierarchy s_DRMh;
  MrmType dclass;
  char		name[] = "Proview/R Navigator";

  static char translations[] =
    "<FocusIn>: xhelp_inputfocus()\n";
  static XtTranslations compiled_translations = NULL;

  static XtActionsRec actions[] =
    {
      {(char*) "xhelp_inputfocus",      (XtActionProc) CoXHelpMotif::action_inputfocus}
    };

  static MrmRegisterArg	reglist[] = {
    {(char*) "xhelp_ctx", 0 },
    {(char*) "xhelp_activate_exit",(caddr_t)CoXHelpMotif::activate_exit },
    {(char*) "xhelp_activate_zoom_in",(caddr_t)CoXHelpMotif::activate_zoom_in },
    {(char*) "xhelp_activate_zoom_out",(caddr_t)CoXHelpMotif::activate_zoom_out },
    {(char*) "xhelp_activate_zoom_reset",(caddr_t)CoXHelpMotif::activate_zoom_reset },
    {(char*) "xhelp_activate_search",(caddr_t)CoXHelpMotif::activate_search },
    {(char*) "xhelp_activate_searchnext",(caddr_t)CoXHelpMotif::activate_searchnext },
    {(char*) "xhelp_activate_searchprevious",(caddr_t)CoXHelpMotif::activate_searchprevious },
    {(char*) "xhelp_activate_india_ok",(caddr_t)CoXHelpMotif::activate_india_ok },
    {(char*) "xhelp_activate_india_cancel",(caddr_t)CoXHelpMotif::activate_india_cancel },
    {(char*) "xhelp_create_india_label",(caddr_t)CoXHelpMotif::create_india_label },
    {(char*) "xhelp_create_india_text",(caddr_t)CoXHelpMotif::create_india_text },
    {(char*) "xhelp_activate_help",(caddr_t)CoXHelpMotif::activate_help },
    {(char*) "xhelp_create_xhelpnav_form",(caddr_t)CoXHelpMotif::create_xhelpnav_form }
	};

  static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

  Lng::get_uid( uid_filename, uid_filename);

  // Motif
  MrmInitialize();

  strcpy( title, Lng::translate("Help"));
  reglist[0].value = (caddr_t) this;

  // Save the context structure in the widget
  i = 0;
  XtSetArg (args[i], XmNuserData, (XtPointer) this);i++;
  XtSetArg( args[i], XmNdeleteResponse, XmDO_NOTHING);i++;

  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  MrmRegisterNames(reglist, reglist_num);

  parent_wid = XtCreatePopupShell( title, 
                                   topLevelShellWidgetClass, parent_wid, args, i);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "xhelp_window", parent_wid,
                                name, args, 1, &toplevel, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", name);

  sts = MrmFetchWidget(s_DRMh, (char*) "input_dialog", toplevel,
                       &india_widget, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch input dialog\n");

  MrmCloseHierarchy(s_DRMh);


  if (compiled_translations == NULL) 
    XtAppAddActions( XtWidgetToApplicationContext(toplevel), 
                     actions, XtNumber(actions));
 
  if (compiled_translations == NULL) 
    compiled_translations = XtParseTranslationTable(translations);
  XtOverrideTranslations( toplevel, compiled_translations);

  i = 0;
  XtSetArg(args[i],XmNwidth,500);i++;
  XtSetArg(args[i],XmNheight,700);i++;
  XtSetValues( toplevel ,args,i);
    
  XtManageChild( toplevel);

  xhelpnav = new CoXHelpNavMotif( (void *)this, xhelpnav_form, title, utility, &brow_widget, 
                             &sts);
  xhelpnav->open_URL_cb = CoXHelp::open_URL;

  // XtPopup( parent_wid, XtGrabNone);
  // displayed = 1;
  XtRealizeWidget( parent_wid);

  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb( parent_wid,
                             (XtCallbackProc)CoXHelpMotif::activate_exit, this);

  *xa_sts = 1;
}
示例#14
0
XAttMotif::XAttMotif( Widget 		xa_parent_wid,
                      void 		*xa_parent_ctx,
                      pwr_sAttrRef 	*xa_objar,
                      int 		xa_advanced_user,
                      int             *xa_sts) :
    XAtt( xa_parent_ctx, xa_objar, xa_advanced_user, xa_sts),
    parent_wid(xa_parent_wid), set_focus_disabled(0),
    value_current_recall(0)
{
    char		uid_filename[120] = {"xtt_xatt.uid"};
    char		*uid_filename_p = uid_filename;
    Arg 		args[20];
    pwr_tStatus	sts;
    pwr_tAName   	title;
    int		i;
    MrmHierarchy s_DRMh;
    MrmType dclass;
    char		name[] = "Proview/R Navigator";

    static char translations[] =
        "<FocusIn>: xatt_inputfocus()\n";
    static XtTranslations compiled_translations = NULL;

    static XtActionsRec actions[] =
    {
        {(char*) "xatt_inputfocus",      (XtActionProc) action_inputfocus}
    };

    static MrmRegisterArg	reglist[] = {
        {(char*) "xatt_ctx", 0 },
        {(char*) "xatt_activate_exit",(caddr_t)activate_exit },
        {(char*) "xatt_activate_display_object",(caddr_t)activate_display_object },
        {(char*) "xatt_activate_show_cross",(caddr_t)activate_show_cross },
        {(char*) "xatt_activate_open_classgraph",(caddr_t)activate_open_classgraph },
        {(char*) "xatt_activate_open_plc",(caddr_t)activate_open_plc },
        {(char*) "xatt_activate_change_value",(caddr_t)activate_change_value },
        {(char*) "xatt_activate_close_changeval",(caddr_t)activate_close_changeval },
        {(char*) "xatt_activate_help",(caddr_t)activate_help },
        {(char*) "xatt_create_msg_label",(caddr_t)create_msg_label },
        {(char*) "xatt_create_cmd_prompt",(caddr_t)create_cmd_prompt },
        {(char*) "xatt_create_cmd_input",(caddr_t)create_cmd_input },
        {(char*) "xatt_create_cmd_scrolledinput",(caddr_t)create_cmd_scrolledinput },
        {(char*) "xatt_create_cmd_scrolled_ok",(caddr_t)create_cmd_scrolled_ok },
        {(char*) "xatt_create_cmd_scrolled_ca",(caddr_t)create_cmd_scrolled_ca },
        {(char*) "xatt_create_xattnav_form",(caddr_t)create_xattnav_form },
        {(char*) "xatt_activate_cmd_scrolledinput",(caddr_t)activate_cmd_input },
        {(char*) "xatt_activate_cmd_scrolled_ok",(caddr_t)activate_cmd_scrolled_ok },
        {(char*) "xatt_activate_cmd_scrolled_ca",(caddr_t)activate_cmd_scrolled_ca }
    };

    static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

    // for ( i = 0; i < int(sizeof(value_recall)/sizeof(value_recall[0])); i++)
    //  value_recall[i][0] = 0;

    Lng::get_uid( uid_filename, uid_filename);

    // Create object context
//  attrctx->close_cb = close_cb;
//  attrctx->redraw_cb = redraw_cb;

    // Motif
    MrmInitialize();

    *xa_sts = gdh_AttrrefToName( &objar, title, sizeof(title), cdh_mNName);
    if ( EVEN(*xa_sts)) return;

    cdh_StrncpyCutOff( title, title, 100, 1);

    reglist[0].value = (caddr_t) this;

    // Save the context structure in the widget
    i = 0;
    XtSetArg (args[i], XmNuserData, (XtPointer) this);
    i++;
    XtSetArg( args[i], XmNdeleteResponse, XmDO_NOTHING);
    i++;

    sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
    if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

    MrmRegisterNames(reglist, reglist_num);

    parent_wid = XtCreatePopupShell( title,
                                     topLevelShellWidgetClass, parent_wid, args, i);

    sts = MrmFetchWidgetOverride( s_DRMh, (char*) "xatt_window", parent_wid,
                                  name, args, 1, &toplevel, &dclass);
    if (sts != MrmSUCCESS)  printf("can't fetch %s\n", name);

    MrmCloseHierarchy(s_DRMh);


    if (compiled_translations == NULL)
        XtAppAddActions( XtWidgetToApplicationContext(toplevel),
                         actions, XtNumber(actions));

    if (compiled_translations == NULL)
        compiled_translations = XtParseTranslationTable(translations);
    XtOverrideTranslations( toplevel, compiled_translations);

    i = 0;
    XtSetArg(args[i],XmNwidth,420);
    i++;
    XtSetArg(args[i],XmNheight,600);
    i++;
    XtSetValues( toplevel ,args,i);

    XtManageChild( toplevel);
    XtUnmanageChild( cmd_input);
    XtUnmanageChild( cmd_scrolledinput);
    XtUnmanageChild( cmd_scrolled_ok);
    XtUnmanageChild( cmd_scrolled_ca);

    xattnav = new XAttNavMotif( (void *)this, xattnav_form, xattnav_eType_Object,
                                "Plant", &objar, xa_advanced_user, &brow_widget, &sts);
    xattnav->message_cb = &message_cb;
    xattnav->change_value_cb = &change_value_cb;
    xattnav->popup_menu_cb = &xatt_popup_menu_cb;
    xattnav->is_authorized_cb = &xatt_is_authorized_cb;

    XtPopup( parent_wid, XtGrabNone);

    // Connect the window manager close-button to exit
    flow_AddCloseVMProtocolCb( parent_wid,
                               (XtCallbackProc)activate_exit, this);

    *xa_sts = XATT__SUCCESS;
}
示例#15
0
XCrrMotif::XCrrMotif( 
	Widget 		xa_parent_wid,
	void 		*xa_parent_ctx, 
	pwr_sAttrRef 	*xa_objar,
	int 		xa_advanced_user,
        int             *xa_sts) :
  XCrr( xa_parent_ctx, xa_objar, xa_advanced_user, xa_sts),
  parent_wid(xa_parent_wid), set_focus_disabled(0)
{
  char		uid_filename[120] = {"xtt_xcrr.uid"};
  char		*uid_filename_p = uid_filename;
  Arg 		args[20];
  pwr_tStatus	sts;
  pwr_tAName   	title;
  int		i;
  MrmHierarchy s_DRMh;
  MrmType dclass;
  char		name[] = "Proview/R Navigator";

  static char translations[] =
    "<FocusIn>: xcrr_inputfocus()\n";
  static XtTranslations compiled_translations = NULL;

  static XtActionsRec actions[] =
  {
    {(char*) "xcrr_inputfocus",      (XtActionProc) action_inputfocus}
  };

  static MrmRegisterArg	reglist[] = {
        {(char*) "xcrr_ctx", 0 },
	{(char*) "xcrr_activate_exit",(caddr_t)activate_exit },
	{(char*) "xcrr_activate_openplc",(caddr_t)activate_openplc },
	{(char*) "xcrr_activate_help",(caddr_t)activate_help },
	{(char*) "xcrr_create_xcrrnav_form",(caddr_t)create_xcrrnav_form }
	};

  static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

  Lng::get_uid( uid_filename, uid_filename);

  // Motif
  MrmInitialize();

  *xa_sts = gdh_AttrrefToName( &objar, title, sizeof(title), cdh_mNName);
  if ( EVEN(*xa_sts)) return;

  reglist[0].value = (caddr_t) this;

  // Save the context structure in the widget
  i = 0;
  XtSetArg (args[i], XmNuserData, (XtPointer) this);i++;
  XtSetArg( args[i], XmNdeleteResponse, XmDO_NOTHING);i++;

  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  MrmRegisterNames(reglist, reglist_num);

  parent_wid = XtCreatePopupShell( title, 
		topLevelShellWidgetClass, parent_wid, args, i);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "xcrr_window", parent_wid,
			name, args, 1, &toplevel, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", name);

  MrmCloseHierarchy(s_DRMh);


  if (compiled_translations == NULL) 
    XtAppAddActions( XtWidgetToApplicationContext(toplevel), 
						actions, XtNumber(actions));
 
  if (compiled_translations == NULL) 
    compiled_translations = XtParseTranslationTable(translations);
  XtOverrideTranslations( toplevel, compiled_translations);

  i = 0;
  XtSetArg(args[i],XmNwidth,420);i++;
  XtSetArg(args[i],XmNheight,300);i++;
  XtSetValues( toplevel ,args,i);
    
  XtManageChild( toplevel);

  xcrrnav = new XAttNavMotif( (void *)this, xcrrnav_form, xattnav_eType_CrossRef,
			      "Plant", &objar, xa_advanced_user, 0, &brow_widget, &sts);
  xcrrnav->popup_menu_cb = &xcrr_popup_menu_cb;
  xcrrnav->start_trace_cb = &xcrr_start_trace_cb;
  xcrrnav->close_cb = &xcrr_close_cb;

  XtPopup( parent_wid, XtGrabNone);

  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb( parent_wid,
	(XtCallbackProc)activate_exit, this);

  *xa_sts = XATT__SUCCESS;
}
示例#16
0
int initWidgetTree(Widget parent)
{
  /* local variables */
  Widget topWidget, cutWidget;              /* top widget from UIL */
  MrmType topWidgetClass, cutWidgetClass;   /* class of topWidget */
  Cardinal status;                          /* return status */
 
  /* MRM initialization */
  MrmInitialize();
    
  /* open MRM-hierarchy with UID-data */
  status = MrmOpenHierarchyPerDisplay(XtDisplay(parent),
				      XtNumber(data), data,
				      (MrmOsOpenParamPtr*) NULL,
				      &hierarchy);

  if(status != MrmSUCCESS)
    {
      fprintf(stderr, "UID-Data can't be read\n");
      return(-1);
    }
  
  /* register the callbacks for UIL   */
  status = MrmRegisterNamesInHierarchy(hierarchy,
				       callbacks, XtNumber(callbacks));
  if(status != MrmSUCCESS)
    {
      fprintf(stderr, 
	      "Callbacks can't be register for UIL widgets.\n");
      return(-1);
    }
  
  /* make widget hierarchy from topwidget */
  topWidget = NULL;
  status = MrmFetchWidget(hierarchy, "extra", parent,
			  &topWidget, &topWidgetClass);
  if(status != MrmSUCCESS)
    {
      fprintf(stderr, 
	      "Widget hierarchy can't be build for UIL widgets.\n");
      return(-1);
    }

  /* register userdefined widgets */
  if (MrmRegisterClass(MrmwcUnknown, "BXmTexTable" , "BXmCreateTextTable",
                            (Widget(*)())BXmCreateTextTable,
                            (WidgetClass)&bxmTextTableWidgetClass) != MrmSUCCESS)
      fprintf(stderr, "User-defined widget can't be registered!\n");

  /* make widget cut */
  status = MrmFetchWidget(hierarchy, "cut", parent,
              &cutWidget, &cutWidgetClass);

  if(status != MrmSUCCESS)
    {
      fprintf(stderr, "Widget hierarchy can't be build for cut widgets.\n");
      return(-1);
    } 
  
  /* manage topwidget */
  XtManageChild(topWidget);
  XtManageChild(cutWidget);
  return 0;
}         
示例#17
0
GeCurveMotif::GeCurveMotif( void 	*gc_parent_ctx, 
			    Widget 	parent_widget,
			    char	*curve_name,
			    char  *filename,
			    GeCurveData *curve_data,
			    int   pos_right) :
  GeCurve( gc_parent_ctx, curve_name, filename, curve_data, pos_right)
{
  char		uid_filename[120] = {"xtt_curve.uid"};
  char		*uid_filename_p = uid_filename;
  Arg 		args[20];
  pwr_tStatus	sts;
  int		i;
  MrmHierarchy s_DRMh;
  MrmType dclass;
  Widget	ge_curve_widget;
  char		name[] = "PwR GeCurve";

  static MrmRegisterArg	reglist[] = {
        {(char*) "gec_ctx", 0 },
	{(char*) "gec_activate_exit",(caddr_t)activate_exit },
	{(char*) "gec_activate_configure",(caddr_t)activate_configure },
	{(char*) "gec_activate_print",(caddr_t)activate_print },
	{(char*) "gec_activate_zoomin",(caddr_t)activate_zoomin },
	{(char*) "gec_activate_zoomout",(caddr_t)activate_zoomout },
	{(char*) "gec_activate_zoomreset",(caddr_t)activate_zoomreset },
	{(char*) "gec_activate_background",(caddr_t)activate_background },
	{(char*) "gec_activate_showname",(caddr_t)activate_showname },
	{(char*) "gec_activate_filledcurves",(caddr_t)activate_filledcurves },
	{(char*) "gec_activate_xlimits",(caddr_t)activate_xlimits },
	{(char*) "gec_activate_help",(caddr_t)activate_help },
	{(char*) "gec_create_pane",(caddr_t)create_pane },
	{(char*) "gec_create_growform",(caddr_t)create_growform },
	{(char*) "gec_create_nameform",(caddr_t)create_nameform },
	{(char*) "gec_create_curveform",(caddr_t)create_curveform },
	{(char*) "gec_create_minmax_textmin",(caddr_t)create_minmax_textmin },
	{(char*) "gec_create_minmax_textmax",(caddr_t)create_minmax_textmax },
	{(char*) "gec_activate_minmax_ok",(caddr_t)activate_minmax_ok }
	};

  static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

  Lng::get_uid( uid_filename, uid_filename);

  // Motif
  MrmInitialize();

  cdh_StrncpyCutOff( title, curve_name, sizeof(title), 1);

  reglist[0].value = (caddr_t) this;

  toplevel = XtCreatePopupShell(title, 
		topLevelShellWidgetClass, parent_widget, args, 0);

  // Save the context structure in the widget
  XtSetArg (args[0], XmNuserData, (XtPointer) this);

  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  MrmRegisterNames(reglist, reglist_num);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "ge_curve_window", toplevel,
			name, NULL, 0, &ge_curve_widget, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", name);

  sts = MrmFetchWidget(s_DRMh, (char*) "minmax_dialog", toplevel,
		&minmax_widget, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch input dialog\n");

  MrmCloseHierarchy(s_DRMh);

  i = 0;
  XtSetArg(args[i],XmNwidth,800);i++;
  XtSetArg(args[i],XmNheight,600);i++;
  XtSetArg(args[i], XmNdeleteResponse, XmDO_NOTHING);i++;
  XtSetValues( toplevel ,args,i);
      
  XtManageChild( ge_curve_widget);

  Widget w;
  grownames_main_widget = ScrolledGrowCreate( nameform_widget, 
		(char*) "GeCurveNames", NULL,
		0, init_grownames_cb, this, &w);
  i = 0;
  XtSetArg(args[i],XmNwidth,200);i++;
  XtSetValues( grownames_main_widget, args,i);

  XtManageChild( grownames_main_widget);

  growaxis_main_widget = GrowCreate( axisform_widget, 
		(char*) "GeCurveAxis", NULL,
		0, 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, 
		(char*) "GeCurve", NULL,
		0, init_growcurve_cb, this);
  XtManageChild( growcurve_main_widget);

  i = 0;
  XtSetArg(args[i],XmNwidth,200);i++;
  XtSetArg(args[i],XmNheight,200);i++;
  XtSetArg(args[i],XmNpaneMinimum,75);i++;
  XtSetArg(args[i],XmNpaneMaximum,100);i++;
  nav_widget = CurveCreateNav( pane_widget, (char*) "navigator",
        args, i, growcurve_main_widget);
  XtManageChild( nav_widget);

  XtPopup( toplevel, XtGrabNone);
  XtRealizeWidget( toplevel);

  wow = new CoWowMotif( toplevel);

  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb( toplevel, 
	(XtCallbackProc)activate_exit, this);

}
示例#18
0
WGeMotif::WGeMotif( Widget wge_parent_wid, void *wge_parent_ctx, char *wge_name, char *wge_filename,
	  int wge_scrollbar, int wge_menu, int wge_navigator, int wge_width, int wge_height, 
	  int x, int y, char *object_name, int wge_modal = 0) :
  WGe(wge_parent_ctx, wge_name, wge_filename, wge_scrollbar, wge_menu, wge_navigator, wge_width,
      wge_height, x, y, object_name, wge_modal),
  parent_wid(wge_parent_wid), value_dialog(0), set_focus_disabled(0), focus_timerid(0)
{
  pwr_tFileName	uid_filename = {"$pwr_exe/wb_wge.uid"};
  char		*uid_filename_p = uid_filename;
  Arg 		args[20];
  pwr_tStatus	sts;
  char 		title[300];
  int		i;
  MrmHierarchy s_DRMh;
  MrmType dclass;
  Widget	wge_widget;
  char		wname[] = "Proview/R Ge";

  static char translations[] =
    "<ConfigureNotify>: resize()\n\
<FocusIn>: wge_inputfocus()";
  static XtTranslations compiled_translations = NULL;

  static XtActionsRec actions[] =
  {
    {(char*) "wge_inputfocus",      (XtActionProc) action_inputfocus},
    {(char*) "resize",      (XtActionProc) action_resize},
  };

  static MrmRegisterArg	reglist[] = {
        {(char*) "wge_ctx", 0 },
	{(char*) "wge_activate_exit",(caddr_t)activate_exit },
	{(char*) "wge_activate_zoom_in",(caddr_t)activate_zoom_in },
	{(char*) "wge_activate_zoom_out",(caddr_t)activate_zoom_out },
	{(char*) "wge_activate_zoom_reset",(caddr_t)activate_zoom_reset },
	{(char*) "wge_activate_help",(caddr_t)activate_help },
	{(char*) "wge_create_graph_form",(caddr_t)create_graph_form },
	{(char*) "wge_create_menu",(caddr_t)create_menu },
	{(char*) "wge_create_value_input",(caddr_t)create_value_input },
	{(char*) "wge_activate_value_input",(caddr_t)activate_value_input },
	{(char*) "wge_activate_confirm_ok",(caddr_t)activate_confirm_ok },
	{(char*) "wge_activate_confirm_cancel",(caddr_t)activate_confirm_cancel },
	{(char*) "wge_create_message_dia",(caddr_t)create_message_dia }
	};

  static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

  dcli_translate_filename( uid_filename, uid_filename);

  // Create object context
  strcpy( filename, wge_filename);
  strcpy( name, wge_name);
  // command_cb = command_cb;
  // help_cb = help_cb;
  // close_cb = close_cb;
  // is_authorized_cb = is_authorized_cb;

  // Motif
  MrmInitialize();

  cdh_StrncpyCutOff( title, name, sizeof(title), 1);

  reglist[0].value = (caddr_t) this;


  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  // Save the context structure in the widget
  i = 0;
  XtSetArg(args[i], XmNuserData, (XtPointer) this);i++;
  XtSetArg(args[i],XmNdeleteResponse, XmDO_NOTHING);i++;

  toplevel = XtCreatePopupShell( title, 
		topLevelShellWidgetClass, parent_wid, args, i);

  MrmRegisterNames(reglist, reglist_num);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "wge_window", toplevel,
			wname, args, 1, &wge_widget, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", wname);

  sts = MrmFetchWidget(s_DRMh, (char*) "input_dialog", toplevel,
		&value_dialog, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch input dialog\n");

  sts = MrmFetchWidget(s_DRMh, (char*) "confirm_dialog", toplevel,
		&confirm_widget, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch confirm dialog\n");

  sts = MrmFetchWidget(s_DRMh, (char*) "message_dialog", toplevel,
		&message_dia_widget, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch message dialog\n");

  MrmCloseHierarchy(s_DRMh);

  if (compiled_translations == NULL) 
    XtAppAddActions( XtWidgetToApplicationContext(toplevel), 
						actions, XtNumber(actions));
 
  if (compiled_translations == NULL) 
    compiled_translations = XtParseTranslationTable(translations);
  XtOverrideTranslations( wge_widget, compiled_translations);

  i = 0;
  if ( width == 0 || height == 0)
  {
    XtSetArg(args[i],XmNwidth,600);i++;
    XtSetArg(args[i],XmNheight,500);i++;
  }
  else
  {
    XtSetArg(args[i],XmNwidth,width);i++;
    XtSetArg(args[i],XmNheight,height);i++;
    XtSetArg(args[i], XmNminAspectX, width); i++;
    XtSetArg(args[i], XmNminAspectY, height); i++;
    XtSetArg(args[i], XmNmaxAspectX, width); i++;
    XtSetArg(args[i], XmNmaxAspectY, height); i++;
  }
  if ( !(x == 0 && y == 0))
  {
    XtSetArg(args[i],XmNx, x);i++;
    XtSetArg(args[i],XmNy, y);i++;
  }
  XtSetValues( toplevel, args,i);
    
  XtManageChild( wge_widget);

  if ( !menu)
    XtUnmanageChild( menu_widget);

  graph = new GraphMotif( this, graph_form, "Plant", 
		&grow_widget, &sts, "pwrp_exe:", graph_eMode_Runtime, 
		scrollbar, 1, object_name, 0, 0);
  ((Graph *)graph)->message_cb = &message;
  ((Graph *)graph)->close_cb = &graph_close_cb;
  ((Graph *)graph)->init_cb = &graph_init_cb;
  ((Graph *)graph)->change_value_cb = &change_value_cb;
  ((Graph *)graph)->confirm_cb = &confirm_cb;
  ((Graph *)graph)->message_dialog_cb = &message_dialog_cb;
  ((Graph *)graph)->command_cb = &wge_command_cb;
  ((Graph *)graph)->is_authorized_cb = &wge_is_authorized_cb;
 
  XtPopup( toplevel, XtGrabNone);

  if ( navigator)
  {
    // Create navigator popup

    i = 0;
    XtSetArg(args[i],XmNallowShellResize, TRUE); i++;
    XtSetArg(args[i],XmNallowResize, TRUE); i++;
    XtSetArg(args[i],XmNwidth,200);i++;
    XtSetArg(args[i],XmNheight,200);i++;
    XtSetArg(args[i],XmNx,500);i++;
    XtSetArg(args[i],XmNy,500);i++;
    XtSetArg(args[i],XmNdeleteResponse, XmDO_NOTHING);i++;

    nav_shell = XmCreateDialogShell( grow_widget, (char*) "Navigator",
        args, i);
    XtManageChild( nav_shell);

    ((GraphMotif *)graph)->create_navigator( nav_shell);
//    XtManageChild( nav_widget);
    XtRealizeWidget( nav_shell);
    ((Graph *)graph)->set_nav_background_color();
  }

  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb( toplevel, 
	(XtCallbackProc)activate_exit, this);

}
示例#19
0
/*
 * Main Program
 */
int main(int argc, char **argv)
{
    Display *display;
    Arg args[256];
    Cardinal ac;
    /*SUPPRESS 591*/
    Boolean argok;
    XtAppContext context;
    Widget w;
    Widget parent;
    
    /* Begin user code block <declarations> */
    /* End user code block <declarations> */
    
    /*
     * Hierarchy variable declarations
     * Set "*newMrmStyle:False" in ~/.bxrc for bx25 style declarations
     */
    
    MrmHierarchy HierarchyID;
    MrmType MrmWClass;
    static char *UidFile [] = { BX_UID_FILE_NAME };
    MRMRegisterArg NamesList[49];
    Cardinal Nlac;
    Nlac = 0;
    NamesList[Nlac].name = "CloseTree";
    NamesList[Nlac++].value = (XtPointer) CloseTree;
    NamesList[Nlac].name = "CommandEntered";
    NamesList[Nlac++].value = (XtPointer) CommandEntered;
    NamesList[Nlac].name = "CreateTree";
    NamesList[Nlac++].value = (XtPointer) CreateTree;
    NamesList[Nlac].name = "MDisplayData";
    NamesList[Nlac++].value = (XtPointer) MDisplayData;
    NamesList[Nlac].name = "MDoAction";
    NamesList[Nlac++].value = (XtPointer) MDoAction;
    NamesList[Nlac].name = "MessageClear";
    NamesList[Nlac++].value = (XtPointer) MessageClear;
    NamesList[Nlac].name = "MessageDismiss";
    NamesList[Nlac++].value = (XtPointer) MessageDismiss;
    NamesList[Nlac].name = "ModifyData";
    NamesList[Nlac++].value = (XtPointer) ModifyData;
    NamesList[Nlac].name = "MenuUnmap";
    NamesList[Nlac++].value = (XtPointer) MenuUnmap;
    NamesList[Nlac].name = "BxManageCB";
    NamesList[Nlac++].value = (XtPointer) BxManageCB;
    NamesList[Nlac].name = "MSetupDevice";
    NamesList[Nlac++].value = (XtPointer) MSetupDevice;
    NamesList[Nlac].name = "SetDefault";
    NamesList[Nlac++].value = (XtPointer) SetDefault;
    NamesList[Nlac].name = "MModifyData";
    NamesList[Nlac++].value = (XtPointer) MModifyData;
    NamesList[Nlac].name = "DisplayNci";
    NamesList[Nlac++].value = (XtPointer) DisplayNci;
    NamesList[Nlac].name = "BxExitCB";
    NamesList[Nlac++].value = (XtPointer) BxExitCB;
    NamesList[Nlac].name = "MTurnOnOff";
    NamesList[Nlac++].value = (XtPointer) MTurnOnOff;
    NamesList[Nlac].name = "DisplayData";
    NamesList[Nlac++].value = (XtPointer) DisplayData;
    NamesList[Nlac].name = "MSetDefault";
    NamesList[Nlac++].value = (XtPointer) MSetDefault;
    NamesList[Nlac].name = "MDisplayNci";
    NamesList[Nlac++].value = (XtPointer) MDisplayNci;
    NamesList[Nlac].name = "TurnOnOff";
    NamesList[Nlac++].value = (XtPointer) TurnOnOff;
    NamesList[Nlac].name = "DoAction";
    NamesList[Nlac++].value = (XtPointer) DoAction;
    NamesList[Nlac].name = "OpenTree";
    NamesList[Nlac++].value = (XtPointer) OpenTree;
    NamesList[Nlac].name = "AddListTree";
    NamesList[Nlac++].value = (XtPointer) AddListTree;
    NamesList[Nlac].name = "SetupDevice";
    NamesList[Nlac++].value = (XtPointer) SetupDevice;
    NamesList[Nlac].name = "AddNode";
    NamesList[Nlac++].value = (XtPointer) AddNode;
#ifdef __hpux
    NamesList[Nlac].name = "AddListTree";
    NamesList[Nlac++].value = (XtPointer) AddListTree;
#endif
    NamesList[Nlac].name = "AddNodeApply";
    NamesList[Nlac++].value = (XtPointer) AddNodeApply;
    NamesList[Nlac].name = "AddNodeDismiss";
    NamesList[Nlac++].value = (XtPointer) AddNodeDismiss;
    NamesList[Nlac].name = "SetUsage";
    NamesList[Nlac++].value = (XtPointer) SetUsage;
    NamesList[Nlac].name = "AddDeviceDismiss";
    NamesList[Nlac++].value = (XtPointer) AddDeviceDismiss;
    NamesList[Nlac].name = "CreateAddDevice";
    NamesList[Nlac++].value = (XtPointer) CreateAddDevice;
    NamesList[Nlac].name = "AddDevice";
    NamesList[Nlac++].value = (XtPointer) AddDevice;
    NamesList[Nlac].name = "WriteTree";
    NamesList[Nlac++].value = (XtPointer) WriteTree;
    NamesList[Nlac].name = "ModifyTags";
    NamesList[Nlac++].value = (XtPointer) ModifyTags;
    NamesList[Nlac].name = "tag_button_proc";
    NamesList[Nlac++].value = (XtPointer) tag_button_proc;
    NamesList[Nlac].name = "tag_selection_proc";
    NamesList[Nlac++].value = (XtPointer) tag_selection_proc;
#ifdef __hpux
    NamesList[Nlac].name = "WriteTree";
    NamesList[Nlac++].value = (XtPointer) WriteTree;
#endif
    NamesList[Nlac].name = "DeleteNode";
    NamesList[Nlac++].value = (XtPointer) DeleteNode;
    NamesList[Nlac].name = "DeleteNodeNow";
    NamesList[Nlac++].value = (XtPointer) DeleteNodeNow;
    NamesList[Nlac].name = "RenameNode";
    NamesList[Nlac++].value = (XtPointer) RenameNode;
    NamesList[Nlac].name = "AddNodeStart";
    NamesList[Nlac++].value = (XtPointer) AddNodeStart;
 
    NamesList[Nlac].name = NULL;
    NamesList[Nlac].value = NULL;
    
    
    MrmInitialize();
    XtToolkitInitialize();
    context = XtCreateApplicationContext();
    display = XtOpenDisplay(context, 0, BX_APP_NAME, BX_APP_CLASS,
#ifndef XtSpecificationRelease
        options, XtNumber(options), (Cardinal*)&argc, argv);
#else
#if XtSpecificationRelease == 4
        options, XtNumber(options), (Cardinal*)&argc, argv);
#else
        options, XtNumber(options), &argc, argv);
#endif
#endif
    if(display == NULL)
    {
        XtWarning("cannot open display");
        exit(1);
    }
    /*
     * So converters work.
     */

    XtInitializeWidgetClass(applicationShellWidgetClass);

    /*
     * Install the tearOffModel resource converter
     */
#if (XmVersion >= 1002)
    XmRepTypeInstallTearOffModelConverter();
#endif
    
    /*
     * Register special BuilderXcessory converters
     */
    RegisterBxConverters(context);
    
    
    /* Begin user code block <create_shells> */
    XmdsInitialize();
    /* End user code block <create_shells> */
    /*
     * The applicationShell is created as an unrealized
     * parent for multiple topLevelShells.  The topLevelShells
     * are created as popup children of the applicationShell.
     * This is a recommendation of Paul Asente & Ralph Swick in
     * _X_Window_System_Toolkit_ p. 677.
     */
    ac = 0;
    AppShell = parent = XtAppCreateShell( BX_APP_NAME, BX_APP_CLASS,
                  applicationShellWidgetClass, display, args, ac);
    
    MrmRegisterNames(NamesList, Nlac);
    
    HierarchyID = 0;
    MrmOpenHierarchy((MrmCount)(1), UidFile, 0, &HierarchyID);
    XtInitializeWidgetClass(topLevelShellWidgetClass);
    ac = 0;
    XtSetArg(args[ac], XmNtitle, "Traverser"); ac++;
    XtSetArg(args[ac], XmNiconName, "Traverser"); ac++;
    XtSetArg(args[ac], XmNx, 947); ac++;
    XtSetArg(args[ac], XmNy, 349); ac++;
    XtSetArg(args[ac], XmNwidth, 509); ac++;
    XtSetArg(args[ac], XmNheight, 672); ac++;
    TopLevelShell = XtCreatePopupShell( "topLevelShell",
                        topLevelShellWidgetClass, AppShell, args, ac);
    MainWindow = NULL;
    MrmFetchWidget(HierarchyID, "mainWindow", TopLevelShell,
            &MainWindow, &MrmWClass);
    
    WriteDialog = NULL;
    MrmFetchWidget(HierarchyID, "writeDialog", MainWindow,
            &WriteDialog, &MrmWClass);
    
    AddDialog = NULL;
    MrmFetchWidget(HierarchyID, "addDialog", MainWindow,
            &AddDialog, &MrmWClass);
    
    AddDeviceDialog = NULL;
    MrmFetchWidget(HierarchyID, "addDeviceDialog", MainWindow,
            &AddDeviceDialog, &MrmWClass);
    
    OpenDialog = NULL;
    MrmFetchWidget(HierarchyID, "openDialog", MainWindow,
            &OpenDialog, &MrmWClass);
    
    MrmCloseHierarchy(HierarchyID);
    
    XtManageChild(MainWindow);
    XtPopup(XtParent(MainWindow), XtGrabNone);
    
    /* Begin user code block <app_procedures> */
    /* End user code block <app_procedures> */
    
    /* Begin user code block <main_loop> */
    /* End user code block <main_loop> */
XtVaSetValues(TopLevelShell,XmNdeleteResponse, XmDO_NOTHING, NULL);
XmAddWMProtocolCallback(TopLevelShell,XmInternAtom(XtDisplay(TopLevelShell),"WM_DELETE_WINDOW",True),(XtCallbackProc)CloseWindow,NULL);
    
    XtAppMainLoop(context);
    
    /*
     * A return value even though XtAppMainLoop never ends. 
     */
     return(0); 
}