cdesktopenv/cde/programs/dtappbuilder/src/libABil/bilP.h

249 lines
10 KiB
C

/*
* 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
*/
/*
* $XConsortium: bilP.h /main/3 1995/11/06 18:23:28 rswiston $
*
* @(#)bilP.h 1.49 02 Apr 1995 cde_app_builder/src/libABil
*
* RESTRICTED CONFIDENTIAL INFORMATION:
*
* The information in this document is subject to special
* restrictions in a confidential disclosure agreement between
* HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
* document outside HP, IBM, Sun, USL, SCO, or Univel without
* Sun's specific written approval. This document and all copies
* and derivative works thereof must be returned or destroyed at
* Sun's request.
*
* Copyright 1993 Sun Microsystems, Inc. All rights reserved.
*
*/
/*
* bilP.h - bil interface language "stuff"
*/
#ifndef _ABIL_BIL_P_H_
#define _ABIL_BIL_P_H_
#include <stdio.h>
#include <Dt/MsgCatP.h>
#include <bil_parse.h>
#include <ab/util_types.h>
#include <ab_private/obj.h>
#include "loadP.h"
typedef int BIL_TOKEN;
#define BIL_TOKEN_MIN_VALUE ((int)AB_BIL_MARKER_FIRST)
#define BIL_TOKEN_MAX_VALUE ((int)AB_BIL_MARKER_LAST)
#define BIL_TOKEN_NUM_VALUES (BIL_TOKEN_MAX_VALUE \
- BIL_TOKEN_MIN_VALUE + 1)
/*
** I18N defines: Which message set are our messages in? This must be in sync
** with the 'set N' definition in the libABil.msg message source text file.
**
** And what global variable are we expecting as our opened catalog descriptor?
*/
#define ABIL_MESSAGE_CATD Dtb_project_catd
#define ABIL_MESSAGE_SET 204
extern nl_catd ABIL_MESSAGE_CATD;
typedef struct
{
ISTRING fileName;
ABObj project;
ABObj module;
ABObjList compObjsRead;
ABObj obj;
AB_OBJECT_TYPE objType;
BIL_TOKEN att;
} BIL_LOAD_INFO;
/*
* Symbols generated by lex/yacc
*/
extern int yyparse(void);
extern FILE *yyin;
/*
* module global vars
*/
extern BIL_LOAD_INFO bilP_load;
/*
* Functions
*/
extern int bilP_load_set_current_att(BIL_TOKEN att);
extern STRING bilP_token_to_string(BIL_TOKEN);
extern BIL_TOKEN bilP_string_to_token(STRING);
extern BOOL bilP_token_is_bool(BIL_TOKEN);
extern BOOL bilP_token_is_string(BIL_TOKEN);
/*
* AppBuilder Symbols
*/
extern AB_ALIGNMENT bilP_token_to_alignment(BIL_TOKEN);
extern BIL_TOKEN bilP_alignment_to_token(AB_ALIGNMENT);
extern AB_ARG_CLASS bilP_token_to_arg_class(BIL_TOKEN);
extern BIL_TOKEN bilP_arg_class_to_token(AB_ARG_CLASS);
extern AB_ARG_TYPE bilP_token_to_arg_type(BIL_TOKEN);
extern STRING bilP_arg_class_to_string(AB_ARG_CLASS);
extern BIL_TOKEN bilP_arg_type_to_token(AB_ARG_TYPE);
extern BOOL bilP_token_to_bool(BIL_TOKEN);
extern BIL_TOKEN bilP_bool_to_token(BOOL);
extern AB_BUILTIN_ACTION bilP_token_to_builtin_action(BIL_TOKEN);
extern BIL_TOKEN bilP_builtin_action_to_token(AB_BUILTIN_ACTION);
extern AB_BUTTON_TYPE bilP_token_to_button_type(BIL_TOKEN);
extern BIL_TOKEN bilP_button_type_to_token(AB_BUTTON_TYPE);
extern AB_CHOICE_TYPE bilP_token_to_choice_type(BIL_TOKEN);
extern BIL_TOKEN bilP_choice_type_to_token(AB_CHOICE_TYPE);
extern AB_COMPASS_POINT bilP_token_to_compass_point(BIL_TOKEN);
extern BIL_TOKEN bilP_compass_point_to_token(AB_COMPASS_POINT);
extern ABDndOpFlags bilP_token_to_dnd_op_flag(BIL_TOKEN);
extern BIL_TOKEN bilP_dnd_op_flag_to_token(BYTE);
extern ABDndTypeFlags bilP_token_to_dnd_type_flag(BIL_TOKEN);
extern BIL_TOKEN bilP_dnd_type_flag_to_token(BYTE);
extern AB_FUNC_TYPE bilP_token_to_func_type(BIL_TOKEN);
extern BIL_TOKEN bilP_func_type_to_token(AB_FUNC_TYPE);
extern AB_DIRECTION bilP_token_to_direction(BIL_TOKEN);
extern BIL_TOKEN bilP_direction_to_token(AB_DIRECTION);
extern AB_LABEL_TYPE bilP_token_to_label_type(BIL_TOKEN);
extern BIL_TOKEN bilP_label_type_to_token(AB_LABEL_TYPE);
extern AB_GROUP_TYPE bilP_token_to_group_type(BIL_TOKEN);
extern BIL_TOKEN bilP_group_type_to_token(AB_GROUP_TYPE);
extern STRING bilP_group_type_to_string(AB_GROUP_TYPE);
extern AB_OBJECT_TYPE bilP_token_to_object_type(BIL_TOKEN);
extern BIL_TOKEN bilP_object_type_to_token(AB_OBJECT_TYPE);
extern AB_ORIENTATION bilP_token_to_orientation(BIL_TOKEN);
extern BIL_TOKEN bilP_orientation_to_token(AB_ORIENTATION);
extern AB_TEXT_TYPE bilP_token_to_text_type(BIL_TOKEN);
extern BIL_TOKEN bilP_text_type_to_token(AB_TEXT_TYPE);
extern AB_WHEN bilP_token_to_when(BIL_TOKEN);
extern BIL_TOKEN bilP_when_to_token(AB_WHEN);
extern STRING bilP_compass_point_to_string(AB_COMPASS_POINT);
extern STRING bilP_text_type_to_string(AB_TEXT_TYPE);
extern AB_CONTAINER_TYPE bilP_token_to_container_type(int);
extern BIL_TOKEN bilP_container_type_to_token(AB_CONTAINER_TYPE);
extern STRING bilP_container_type_to_string(AB_CONTAINER_TYPE);
extern AB_ITEM_TYPE bilP_token_to_item_type(int);
extern BIL_TOKEN bilP_item_type_to_token(AB_ITEM_TYPE);
extern STRING bilP_item_type_to_string(AB_ITEM_TYPE);
extern AB_PACKING bilP_token_to_packing(int);
extern BIL_TOKEN bilP_packing_to_token(AB_PACKING);
extern STRING bilP_packing_to_string(AB_PACKING);
extern STRING bilP_menu_type_to_string(AB_MENU_TYPE);
extern AB_LABEL_STYLE bilP_token_to_label_style(BIL_TOKEN);
extern BIL_TOKEN bilP_label_style_to_token(AB_LABEL_STYLE);
extern STRING bilP_label_style_to_string(AB_LABEL_STYLE);
extern STRING bilP_func_type_to_string(AB_FUNC_TYPE);
extern STRING bilP_builtin_action_to_string(AB_BUILTIN_ACTION);
extern STRING bilP_when_to_string(AB_WHEN);
extern BIL_TOKEN bilP_attachment_to_token(AB_ATTACH_TYPE);
extern AB_ATTACH_TYPE bilP_token_to_attachment(int);
extern STRING bilP_attachment_to_string(AB_ATTACH_TYPE);
extern STRING bilP_alignment_to_string(AB_ALIGNMENT);
extern STRING bilP_label_type_to_string(AB_LABEL_TYPE);
extern STRING bilP_button_type_to_string(AB_BUTTON_TYPE);
extern STRING bilP_orientation_to_string(AB_ORIENTATION);
extern STRING bilP_direction_to_string(AB_DIRECTION);
extern STRING bilP_choice_type_to_string(AB_CHOICE_TYPE);
extern STRING bilP_arg_type_to_string(AB_ARG_TYPE);
extern BIL_TOKEN bilP_initial_state_to_token(AB_OBJECT_STATE);
extern AB_OBJECT_STATE bilP_token_to_initial_state(int);
extern STRING bilP_initial_state_to_string(AB_OBJECT_STATE);
extern AB_LINE_TYPE bilP_token_to_border_frame(int);
extern BIL_TOKEN bilP_border_frame_to_token(AB_LINE_TYPE);
extern STRING bilP_border_frame_to_string(AB_LINE_TYPE);
extern AB_LINE_TYPE bilP_token_to_line_style(int);
extern BIL_TOKEN bilP_line_style_to_token(AB_LINE_TYPE);
extern STRING bilP_line_style_to_string(AB_LINE_TYPE);
extern BIL_TOKEN bilP_selection_mode_to_token(AB_SELECT_TYPE);
extern STRING bilP_selection_mode_to_string(AB_SELECT_TYPE);
extern AB_SELECT_TYPE bilP_token_to_selection_mode(int);
extern AB_ARROW_STYLE bilP_token_to_arrow_style(int);
extern BIL_TOKEN bilP_arrow_style_to_token(AB_ARROW_STYLE);
extern STRING bilP_arrow_style_to_string(AB_ARROW_STYLE);
extern BIL_TOKEN bilP_scrollbar_policy_to_token(AB_SCROLLBAR_POLICY);
extern AB_SCROLLBAR_POLICY bilP_token_to_scrollbar_policy(BIL_TOKEN);
extern STRING bilP_scrollbar_policy_to_string(AB_SCROLLBAR_POLICY);
extern BIL_TOKEN bilP_msg_type_to_token(AB_MESSAGE_TYPE);
extern AB_MESSAGE_TYPE bilP_token_to_msg_type(BIL_TOKEN);
extern STRING bilP_msg_type_to_string(AB_MESSAGE_TYPE);
extern BIL_TOKEN bilP_file_type_mask_to_token(AB_FILE_TYPE_MASK);
extern AB_FILE_TYPE_MASK bilP_token_to_file_type_mask(BIL_TOKEN);
extern STRING bilP_file_type_mask_to_string(AB_FILE_TYPE_MASK);
extern BIL_TOKEN bilP_sessioning_method_to_token(AB_SESSIONING_METHOD);
extern AB_SESSIONING_METHOD bilP_token_to_sessioning_method(BIL_TOKEN);
extern STRING bilP_sessioning_method_to_string(AB_SESSIONING_METHOD);
extern BIL_TOKEN bilP_tt_desktop_level_to_token(AB_TOOLTALK_LEVEL);
extern AB_TOOLTALK_LEVEL bilP_token_to_tt_desktop_level(BIL_TOKEN);
extern STRING bilP_tt_desktop_level_to_string(AB_TOOLTALK_LEVEL);
extern BIL_TOKEN bilP_default_button_to_token(AB_DEFAULT_BUTTON);
extern AB_DEFAULT_BUTTON bilP_token_to_default_button(BIL_TOKEN);
extern STRING bilP_default_button_to_string(AB_DEFAULT_BUTTON);
/*
* Call bil_load_reset() before calling AByyparse
*/
extern int bilP_load_reset(void);
extern int bilP_load_get_token(void);
extern int bilP_load_get_length(void);
extern int bilP_load_get_line_number(void);
extern int bilP_load_set_line_number(int lineNumber);
extern int bilP_load_get_value_type(void);
extern char * bilP_load_get_value(void);
/*
* load actions from BIL file
*/
extern STRING bilP_load_att_from(BIL_TOKEN);
extern STRING bilP_load_att_to(BIL_TOKEN);
extern STRING bilP_load_att_when(BIL_TOKEN);
extern STRING bilP_load_att_action_type(BIL_TOKEN);
extern STRING bilP_load_att_action(BIL_TOKEN);
extern STRING bilP_load_att_arg_type(BIL_TOKEN);
extern STRING bilP_load_att_arg_value(BIL_TOKEN);
/*
* load object from BIL file
*/
extern STRING bilP_load_end_of_obj(BIL_TOKEN objClass);
extern int bilP_load_end_of_file(void);
extern int bilP_load_end_of_data(void);
extern void bilP_reset_token_text(void);
/*****************************************************************
** **
** Inline implementation **
** **
******************************************************************/
#define bilP_token_is_bool(t) \
( ((t) == AB_BIL_TRUE) || ((t) == AB_BIL_FALSE) )
#define bilP_token_is_string(t) \
( ((t) == AB_BIL_VALUE_STRING) || ((t) == AB_BIL_NIL) )
#endif /* _ABIL_BIL_P_H_ */