void SetStatusBarValue (long l,_Parameter max, _Parameter rate) { _tHYPHYDone = l; _tHYPHYCurrentStatus = _String ("LF Optimization. Value=") & _String (max) &", "&_String (rate) & " evals/sec."; _tHYPHYValue = max; yieldCPUTime(); }
void _HYConsoleWindow::PrintString (_String& s) { if (s.sLength) { if (echoFileRef && echoStatus == 1) fprintf (echoFileRef,"%s",s.sData); //#ifndef __MAC__ forceUpdateForScrolling = true; //#endif ((_HYTextBox *)components(0))->InsertText (s,true,true); //#ifndef __MAC__ forceUpdateForScrolling = false; //#endif #ifdef __WINDOZE__ yieldCPUTime (); #endif } }
void _HYConsoleWindow::_PaintStatusBar(Ptr,bool force) { if (GTK_WIDGET_MAPPED (theWindow)) { _Parameter vL; checkParameter (VerbosityLevelString, vL, 0.0); if (vL<-0.5 && !force) { clock_t curMeasure = clock(); _Parameter diff = 1.0/CLOCKS_PER_SEC*(curMeasure-lastMeasure); if (diff < -vL) { return; } lastMeasure = curMeasure; } if (!stripedFillGC) { SetUpStatusBarStuff (theWindow); } GdkRectangle wRC = {0,0,theWindow->allocation.width,HY_SCROLLER_WIDTH}, w2RC; if (!_hyConsoleWindowGC) { _hyConsoleWindowGC = gdk_gc_new (theWindow->window); gdk_gc_set_tile (_hyConsoleWindowGC, stripedFill); gdk_gc_set_line_attributes(_hyConsoleWindowGC,1,GDK_LINE_SOLID,GDK_CAP_NOT_LAST,GDK_JOIN_MITER); _hyConsoleLayout = pango_layout_new (screenPContext); pango_layout_set_width (_hyConsoleLayout, -1); statusBarBold = pango_font_description_new (); statusBarNormal = pango_font_description_new (); _HYFont consoleFont = {_HY_MONO_FONT,9,HY_FONT_PLAIN}; HYFont2PangoFontDesc (consoleFont,statusBarNormal); consoleFont.style = HY_FONT_BOLD; HYFont2PangoFontDesc (consoleFont,statusBarBold); } GdkPixmap * offBitmap = gdk_pixmap_new (theWindow->window, wRC.width, wRC.height,-1); if (offBitmap) { gdk_gc_set_fill (_hyConsoleWindowGC,GDK_TILED); gdk_draw_rectangle (offBitmap,_hyConsoleWindowGC,true,-1,-1,wRC.width+2,wRC.height+2); gdk_gc_set_fill (_hyConsoleWindowGC,GDK_SOLID); gdk_gc_set_foreground (_hyConsoleWindowGC,&_BLACKBRUSH_); gdk_draw_line(offBitmap,_hyConsoleWindowGC,0,0,wRC.width,0); pango_layout_set_font_description(_hyConsoleLayout,statusBarNormal); pango_layout_set_text(_hyConsoleLayout,fileName.getStr(),fileName.sLength); gdk_draw_layout(offBitmap,_hyConsoleWindowGC,33,wRC.height-13,_hyConsoleLayout); if (inputStatus == 1) { pango_layout_set_text(_hyConsoleLayout,cInput.getStr(),cInput.sLength); } else { pango_layout_set_text(_hyConsoleLayout,action.getStr(),action.sLength); } gdk_draw_layout(offBitmap,_hyConsoleWindowGC,193,wRC.height-13,_hyConsoleLayout); gdk_gc_set_foreground (_hyConsoleWindowGC,&_DARKGREYBRUSH_); gdk_draw_rectangle (offBitmap,_hyConsoleWindowGC,true,0,1,30,wRC.height-1); gdk_draw_rectangle (offBitmap,_hyConsoleWindowGC,true,150,1,40,wRC.height-1); gdk_draw_rectangle (offBitmap,_hyConsoleWindowGC,true,wRC.width-55,1,55,wRC.height-1); gdk_gc_set_foreground (_hyConsoleWindowGC,&_WHITEBRUSH_); pango_layout_set_font_description(_hyConsoleLayout,statusBarBold); pango_layout_set_text(_hyConsoleLayout,cState.getStr(),cState.sLength); gdk_draw_layout(offBitmap,_hyConsoleWindowGC,3,wRC.height-13,_hyConsoleLayout); pango_layout_set_text(_hyConsoleLayout,cTask.getStr(),cTask.sLength); gdk_draw_layout(offBitmap,_hyConsoleWindowGC,151,wRC.height-13,_hyConsoleLayout); pango_layout_set_font_description(_hyConsoleLayout,statusBarNormal); pango_layout_set_text(_hyConsoleLayout,timer.getStr(),timer.sLength); gdk_draw_layout(offBitmap,_hyConsoleWindowGC,wRC.width-53,wRC.height-13,_hyConsoleLayout); if (percentDone>0 || percentDone == -HY_SL_DONE) { GdkColor blackBrush = HYColorToGDKColor((_HYColor) { 80,80,80 }), orangeBrush = HYColorToGDKColor((_HYColor) { 255,153,102 }); gdk_gc_set_foreground (_hyConsoleWindowGC,&orangeBrush); gdk_draw_rectangle (offBitmap,_hyConsoleWindowGC,true,wRC.width-135,wRC.height-14,(percentDone>=0?percentDone:100.)*0.75,12); gdk_gc_set_foreground (_hyConsoleWindowGC,&blackBrush); gdk_draw_rectangle (offBitmap,_hyConsoleWindowGC,false,wRC.width-135,wRC.height-14,75,12); //gdk_gc_set_foreground (_hyConsoleWindowGC,&_WHITEBRUSH_); _String pLine; if (percentDone>=0) { pLine = _String(percentDone)&"%"; } else { pLine = "DONE"; } pango_layout_set_text(_hyConsoleLayout,pLine.getStr(),pLine.sLength); gdk_draw_layout(offBitmap,_hyConsoleWindowGC,wRC.width-107,wRC.height-13,_hyConsoleLayout); } } gdk_draw_drawable (theWindow->window, _hyConsoleWindowGC, offBitmap, 0, 0, theWindow->allocation.x, theWindow->allocation.y+theWindow->allocation.height-wRC.height, -1, -1); g_object_unref (offBitmap); } yieldCPUTime(); }
void SetStatusLine (_String arg) { _tHYPHYCurrentStatus = arg; yieldCPUTime(); }