00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 #include "x_ptyx.h"
00045 #include "x_data.h"
00046 #include "global.h"
00047 #include "version.h"
00048
00049 extern Widget realToplevel;
00050
00051 Widget fileWindow,
00052 messageWindow,
00053 separator;
00054
00060 static void CreateMessageWindow __PARAMS((Widget parent));
00061
00062 XtermWidget CreateTermWindow(Widget parent);
00063 XtermWidget CreateSubWindows(Widget parent);
00064
00065 static Widget fileLabel,
00066 lineLabel;
00067
00068
00069
00070
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116 static void CreateMessageWindow(parent)
00117 Widget parent;
00118 {
00119 Arg args[MAXARGS];
00120 Widget fm;
00121 Cardinal n=0;
00122 fm = XtCreateManagedWidget("msWindow",formWidgetClass,
00123 parent, args, n);
00124 n = 0;
00125 XtSetArg(args[n], XtNlabel, (XtArgVal) SCI_VERSION_STRING); n++;
00126 XtCreateManagedWidget("logoWindow",labelWidgetClass,
00127 fm, args, n);
00128 XtSetArg(args[n], XtNlabel, (XtArgVal) DEFAULT_SCI_VERSION_MESSAGE); n++;
00129 messageWindow = XtCreateManagedWidget("messageWindow",labelWidgetClass,
00130 fm, args, n);
00131 }
00132
00133 void DefaultMessageWindow()
00134 {
00135 Arg args[MAXARGS];
00136 Cardinal n=0;
00137 XtSetArg(args[n], XtNlabel,(XtArgVal) DEFAULT_SCI_VERSION_MESSAGE); n++;
00138 XtSetValues(messageWindow, args, n);
00139 }
00140
00141
00142
00143
00144
00145
00146
00147
00148 extern WidgetClass xtermWidgetClass;
00149
00150 XtermWidget CreateSubWindows(Widget parent)
00151 {
00152 Arg args[1];
00153 Cardinal n=0;
00154 XtermWidget CreateTermWindow();
00155 Widget vpane;
00156 vpane = XtCreateManagedWidget("vpane", panedWidgetClass, parent, args, n);
00157 AddAcceptMessage(parent);
00158 CreateMessageWindow(vpane);
00159 CreateCommandPanel(vpane);
00160 return(CreateTermWindow(vpane));
00161 }
00162
00163
00164
00165
00166
00167 #include "x_xbas.icon.X"
00168
00169 void set_scilab_icon()
00170 {
00173 XWMHints wm_hints;
00174 Pixmap sci_icon;
00175
00176 sci_icon = XCreateBitmapFromData
00177 (XtDisplay(realToplevel),
00178 RootWindow(XtDisplay(realToplevel),
00179 DefaultScreen(XtDisplay(realToplevel))),
00180 (char *) sci_bits, sci_width, sci_height);
00181
00182
00183
00184
00185
00186 wm_hints.icon_pixmap = sci_icon;
00187 wm_hints.flags = IconPixmapHint;
00188 XSetWMHints (XtDisplay(realToplevel), XtWindow(realToplevel),
00189 &wm_hints);
00190 }
00191
00192
00195 Atom NewGraphWindowMessageAtom;
00196
00197 XtEventHandler UseMessage(w, child, e)
00198 Widget w;
00199 Widget child;
00200 XClientMessageEvent *e;
00201 {
00202 if (e->type == ClientMessage
00203 && e->message_type == NewGraphWindowMessageAtom)
00204 {
00205
00206
00207
00208
00209 }
00210 return(0);
00211 }
00212
00213 static Widget WidgetUseMessage ;
00214
00215 void AddAcceptMessage(parent)
00216 Widget parent;
00217 {
00218 WidgetUseMessage=parent ;
00219 XtAddEventHandler(parent,ClientMessage, True, (XtEventHandler) UseMessage,(XtPointer) 0);
00220 }
00221
00222 void ReAcceptMessage()
00223 {
00224 XtAddEventHandler(WidgetUseMessage,ClientMessage, True, (XtEventHandler) UseMessage,(XtPointer) 0);
00225 }
00226
00227 XtermWidget CreateTermWindow(Widget parent)
00228 {
00229 XtermWidget term1;
00230 Arg args[MAXARGS];
00231 Cardinal n=0;
00236 term1 = (XtermWidget) XtCreateManagedWidget("Vtsci", xtermWidgetClass, parent, args,n);
00237 return(term1);
00238 }
00239
00240
00241
00242
00243
00244
00245 void UpdateFileLabel(string)
00246 char *string;
00247 {
00248 Arg args[MAXARGS];
00249 Cardinal n;
00250 n = 0;
00251 XtSetArg(args[n], XtNlabel, (XtArgVal) string); n++;
00252 XtSetValues(fileLabel, args, n);
00253 }
00254
00255 void UpdateLineLabel(line)
00256 Cardinal line;
00257 {
00258 Arg args[MAXARGS];
00259 Cardinal n;
00260 char string[10];
00261 n = 0;
00262 if (line > n)
00263 sprintf(string, "%d", line);
00264 else
00265 strcpy(string, "");
00266 XtSetArg(args[n], XtNlabel, (XtArgVal) string); n++;
00267 XtSetValues(lineLabel, args, n);
00268 }
00269
00270 void UpdateMessageWindow(format, arg)
00271 char *format, *arg;
00272 {
00273 char message[LINESIZ], string[LINESIZ];
00274 Arg args[MAXARGS];
00275 Cardinal n;
00276
00277 strcpy(message, " ");
00278 sprintf(string, format, arg);
00279 strcat(message, string);
00280 n = 0;
00281 XtSetArg(args[n], XtNlabel, (XtArgVal) message); n++;
00282 XtSetValues(messageWindow, args, n);
00283 }