123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- /*
- * CDE - Common Desktop Environment
- *
- * Copyright (c) 1993-2012, The Open Group. All rights reserved.
- *
- * These libraries and programs are free software; you can
- * redistribute them and/or modify them under the terms of the GNU
- * Lesser General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * These libraries and programs are distributed in the hope that
- * they will be useful, but WITHOUT ANY WARRANTY; without even the
- * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with these libraries and programs; if not, write
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
- * Floor, Boston, MA 02110-1301 USA
- */
- /*****************************************************************************
- *
- * File: Print.c
- *
- * Project: DT
- *
- * Description: This file contains the function which prints out the
- * front panel contents. It is used as a client for this
- * purpose.
- *
- * (c) Copyright 1993, 1994 Hewlett-Packard Company
- * (c) Copyright 1993, 1994 International Business Machines Corp.
- * (c) Copyright 1993, 1994 Sun Microsystems, Inc.
- * (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of Novell, Inc.
- *
- ****************************************************************************/
- #include <Dt/DtP.h> /* required for DtDirPaths type */
- #include <Dt/DbReader.h> /* required for DtDbPathId type */
- #include <Dt/WsmM.h>
- #include <Dt/IconFile.h>
- #include <Dt/Dt.h>
- #include "DataBaseLoad.h"
- #include "Parse.h"
- #include <stdint.h>
- #ifdef __STDC__
- const char *szWM_TOOL_CLASS = DtWM_TOOL_CLASS;
- #else
- char *szWM_TOOL_CLASS = DtWM_TOOL_CLASS;
- #endif /* __STDC__ */
- String unpost_arrow_image;
- String unpost_monitor_arrow_image;
- /************************************************************************
- *
- * CheckOtherMonitorsOn
- * Due to a dependancy, CheckOtherMonitorsOn must be defined. This
- * is a stubbed procedure that ensures that the procedure is defined.
- *
- ************************************************************************/
- Boolean
- CheckOtherMonitorsOn(SubpanelData * subpanel_data)
- {
- return False;
- }
- /************************************************************************
- *
- * ToggleDefaultControl
- * Due to a dependancy, ToggleDefaultControl must be defined. This
- * is a stubbed procedure that ensures that the procedure is defined.
- *
- ************************************************************************/
- void
- ToggleDefaultControl (ControlData * main_control_data,
- SubpanelData * subpanel_data,
- ControlData * control_data)
- {
- }
- /************************************************************************
- *
- * GetIconName
- * Get the file name for an icon by extracting the panel resolution
- * and then looking up the image name.
- *
- ************************************************************************/
- String
- GetIconName (String image_name,
- unsigned int icon_size)
- {
- String return_name;
- Screen * screen = XtScreen (panel.shell);
- /* Get name. */
- return_name = _DtGetIconFileName (screen, image_name, NULL, NULL, icon_size);
- if (return_name == NULL)
- return_name = _DtGetIconFileName (screen, image_name, NULL, NULL,
- DtUNSPECIFIED);
- if (return_name == NULL)
- return_name = XtNewString (image_name);
- /* Return value to be freed by caller. */
- return (return_name);
- }
- /************************************************************************
- *
- * PrintFrontPanelContents
- * Using the information from the loading of the database
- * print out the contents of the database.
- *
- ************************************************************************/
- void
- PrintFrontPanelContents(void)
- {
- BoxData * box_data;
- SwitchData * switch_data;
- ControlData * control_data, * switch_control_data;
- SubpanelData * subpanel_data;
- int switch_position = POSITION_FIRST;
- int i,j, k;
- /* print out the component tree */
-
- printf ("PANEL %s\n", (char *) panel.element_values[0].parsed_value);
- for (i = 0; i < panel.box_data_count; i++)
- {
- box_data = panel.box_data[i];
- if (box_data->switch_data != NULL)
- {
- switch_data = box_data->switch_data;
- switch_position = (int) (intptr_t) box_data->switch_data->element_values[SWITCH_POSITION_HINTS].parsed_value;
- }
- else
- switch_data = NULL;
- printf (" BOX %s\n",
- (char *) box_data->element_values[0].parsed_value);
- for (j = 0; j < box_data->control_data_count; j++)
- {
- control_data = box_data->control_data[j];
- if (switch_data != NULL &&
- switch_position < (int) (intptr_t) (control_data->element_values[CONTROL_POSITION_HINTS].parsed_value))
- {
- printf (" SWITCH %s\n",
- (char *) switch_data->element_values[0].parsed_value);
- switch_position = POSITION_LAST;
- for (k = 0; k < switch_data->control_data_count; k++)
- {
- switch_control_data = switch_data->control_data[k];
- printf (" CONTROL %s\n", (char *)
- switch_control_data->element_values[0].parsed_value);
- }
- }
- printf (" CONTROL %s\n",
- (char *) control_data->element_values[0].parsed_value);
- if (control_data->subpanel_data != NULL)
- {
- subpanel_data = control_data->subpanel_data;
- printf(" SUBPANEL %s\n", (char *)
- subpanel_data->element_values[0].parsed_value);
-
- for (k = 0; k < subpanel_data->control_data_count; k++)
- {
- control_data = subpanel_data->control_data[k];
- printf (" CONTROL %s\n", (char *)
- control_data->element_values[0].parsed_value);
- }
- }
- }
- }
- }
- /************************************************************************
- *
- * The main program for the fron panel print function.
- *
- ************************************************************************/
- int
- main (int argc,
- char **argv)
- {
- XtAppContext appContext;
- Widget widget;
- /* This call is required to have values to pass to DtAppInitialize */
- widget = XtAppInitialize( &appContext, "Dtfplist",
- NULL, 0, &argc, argv, NULL, NULL, 0);
- /* This is required initialization so that FrontPanelReadDatabases()
- * procedure complete successfully.
- */
- DtAppInitialize( appContext, XtDisplay(widget), widget,
- argv[0], (char *)szWM_TOOL_CLASS);
-
- /* Load the database for use in printing. If it is able to load print
- * contents of front panel.
- */
- DtDbLoad();
- panel.app_name = strdup(argv[0]);
- if (FrontPanelReadDatabases ())
- {
- /* Print out the contents of the .fp database */
- PrintFrontPanelContents ();
- }
- else
- {
- /* NEEDS TO BE LOCALIZED */
- printf ("PANEL not found. Error in reading database.\n");
- }
- }
|