Article View: comp.sys.sun
Article #12655SunView questions
From: don't know
Date: Mon, 08 May 1989 19:01
Date: Mon, 08 May 1989 19:01
93 lines
3654 bytes
3654 bytes
I have a number of questions with respect to SunView that I've been saving
up. I would appreciate the net's help in answering them.
1) When I run lint on some files that use SunView's variable
argument list, I get the following message:
pass 2 error:(file interface.c) more than 59 args?
Q1) How do I get lint to work with long argument lists.
Currently I use a "#ifndef lint .. #endif" construct.
2) Whenever I use a SunView function such as
data = (Structure *) window_get(panel, WIN_CLIENT_DATA,0);
Lint reports an error message such as:
interface.c(153): warning: possible pointer alignment problem
Q2) How do I get lint to shut-up about such constructs.
3) I'm attempting to use "window_loop()/window_return()" functions
to implement a blocking popup. Unfortunately, and as stated in
the SunView manual, window_loop() will not work with subframes
composed of more then one type of window. In my specific case I
have a frame that encloses a canvas and a panel subwindow. The
frame does block; however, only the first sub-window defined is
shown and I can't interact with the other subwindow.
Q3) Is it possible to use SunView blocking pop-ups that have more
than one subwindow?
4) My application generates a number of pop-up panels that
the user can display and interact with at any time.
However, there is a practical limit to the number of
windows that can be simultaneously open.
Q4) How does one determine if the next window_create() call
can open a window, since window_create() never returns with
an error status because SunView bombs internally.
5) I have a problem with the following minimal code construct:
my_menu = menu_create(
MENU_ITEM, MENU_STRING, "String1",
MENU_ACTION_PROC, dispatch_menu_command,
MENU_CLIENT_DATA, COMMAND_1,
0,
MENU_ITEM, MENU_STRING, "String2",
MENU_ACTION_PROC, dispatch_menu_command,
MENU_CLIENT_DATA, COMMAND_2,
0,
MENU_GEN_PROC, init_menu,
0);
Menu init_menu(menu,op)
Menu menu;
Menu_generate op;
{
Menu_item menu_item;
if (op != MENU_DISPLAY)
return(menu);
#ifdef THIS_WORKS
menu_item = (Menu_item) menu_get(menu, MENU_NTH_ITEM, 1, 0);
#else
menu_item = (Menu_item) menu_find(menu, MENU_CLIENT_DATA, COMMAND1, 0);
#endif
/*
* code to do something with the menu_item.
*/
return(menu);
}
Q5) What happens is that the menu_find call also recursively calls
the menu's generate procedure, so the program goes into an infinite
loop, repeatedly calling the function "init_menu". If, as shown above,
I "#define THIS_WORKS" the program performs as expected. However, I
want the menu_items to be position independent, and they will be
uniquely identifiable by MENU_CLINET_DATA. Is this a feature of
SunView or have I missed something?
Mark R. Simpson (914) 945-6163
Philips Laboratories uunet!philabs!mrs
North American Philips Corporation or
Briarcliff Manor, NY 10510 mrs@philabs.philips.com
Technical Details
Message-ID:
<50597@philabs.Philips.Com>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!husc6!rice!sun-spots-requestShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!husc6!rice!sun-spots-request From: mrs@philabs.philips.com (don't know) Newsgroups: comp.sys.sun Subject: SunView questions Keywords: Windows Message-ID: <50597@philabs.Philips.Com> Date: 8 May 89 19:01:05 GMT Sender: usenet@rice.edu Organization: Philips Laboratories, Briarcliff Manor, NY Lines: 93 Approved: Sun-Spots@rice.edu Original-Date: 22 Apr 89 16:18:08 GMT X-Sun-Spots-Digest: Volume 7, Issue 276, message 13 of 18