SAGA API  v9.6
api_callback.cpp
Go to the documentation of this file.
1 
3 // //
4 // SAGA //
5 // //
6 // System for Automated Geoscientific Analyses //
7 // //
8 // Application Programming Interface //
9 // //
10 // Library: SAGA_API //
11 // //
12 //-------------------------------------------------------//
13 // //
14 // api_callback.cpp //
15 // //
16 // Copyright (C) 2005 by Olaf Conrad //
17 // //
18 //-------------------------------------------------------//
19 // //
20 // This file is part of 'SAGA - System for Automated //
21 // Geoscientific Analyses'. //
22 // //
23 // This library is free software; you can redistribute //
24 // it and/or modify it under the terms of the GNU Lesser //
25 // General Public License as published by the Free //
26 // Software Foundation, either version 2.1 of the //
27 // License, or (at your option) any later version. //
28 // //
29 // This library is distributed in the hope that it will //
30 // be useful, but WITHOUT ANY WARRANTY; without even the //
31 // implied warranty of MERCHANTABILITY or FITNESS FOR A //
32 // PARTICULAR PURPOSE. See the GNU Lesser General Public //
33 // License for more details. //
34 // //
35 // You should have received a copy of the GNU Lesser //
36 // General Public License along with this program; if //
37 // not, see <http://www.gnu.org/licenses/>. //
38 // //
39 //-------------------------------------------------------//
40 // //
41 // contact: Olaf Conrad //
42 // Institute of Geography //
43 // University of Goettingen //
44 // Goldschmidtstr. 5 //
45 // 37077 Goettingen //
46 // Germany //
47 // //
48 // e-mail: oconrad@saga-gis.org //
49 // //
51 
52 //---------------------------------------------------------
53 #include <wx/app.h>
54 
55 #include "api_core.h"
56 #include "grid.h"
57 #include "parameters.h"
58 
59 
61 // //
62 // //
63 // //
65 
66 //---------------------------------------------------------
67 #ifdef _SAGA_MSW
68 static bool gSG_UI_Console_bUTF8 = false;
69 #else
70 static bool gSG_UI_Console_bUTF8 = true;
71 #endif
72 
75 
76 //---------------------------------------------------------
77 void SG_UI_Console_Print_StdOut(const char *Text, SG_Char End, bool bFlush) { SG_UI_Console_Print_StdOut(CSG_String(Text), End, bFlush); }
78 void SG_UI_Console_Print_StdOut(const wchar_t *Text, SG_Char End, bool bFlush) { SG_UI_Console_Print_StdOut(CSG_String(Text), End, bFlush); }
79 void SG_UI_Console_Print_StdOut(const CSG_String &Text, SG_Char End, bool bFlush)
80 {
82  {
83  printf("%s", Text.to_UTF8 ().Get_Data());
84  }
85  else
86  {
87  printf("%s", Text.to_ASCII().Get_Data());
88  }
89 
90  if( End )
91  {
92  printf("%c", End);
93  }
94 
95  if( bFlush )
96  {
97  fflush(stdout);
98  }
99 }
100 
101 //---------------------------------------------------------
102 void SG_UI_Console_Print_StdErr(const char *Text, SG_Char End, bool bFlush) { SG_UI_Console_Print_StdErr(CSG_String(Text), End, bFlush); }
103 void SG_UI_Console_Print_StdErr(const wchar_t *Text, SG_Char End, bool bFlush) { SG_UI_Console_Print_StdErr(CSG_String(Text), End, bFlush); }
104 void SG_UI_Console_Print_StdErr(const CSG_String &Text, SG_Char End, bool bFlush)
105 {
107  {
108  fprintf(stderr, "%s", Text.to_UTF8 ().Get_Data());
109  }
110  else
111  {
112  fprintf(stderr, "%s", Text.to_ASCII().Get_Data());
113  }
114 
115  if( End )
116  {
117  printf("%c", End);
118  }
119 
120  if( bFlush )
121  {
122  fflush(stderr);
123  }
124 }
125 
126 
128 // //
129 // //
130 // //
132 
133 //---------------------------------------------------------
135 
136 //---------------------------------------------------------
138 {
139  gSG_UI_Callback = Function;
140 
141  return( true );
142 }
143 
144 //---------------------------------------------------------
146 {
147  return( gSG_UI_Callback );
148 }
149 
150 
152 // //
153 // //
154 // //
156 
158 {
159  Boolean = Copy.Boolean;
160  Number = Copy.Number ;
161  Pointer = Copy.Pointer;
162  String = Copy.String ;
163 }
164 
165 
167 // //
168 // //
169 // //
171 
172 //---------------------------------------------------------
174 
175 //---------------------------------------------------------
176 int SG_UI_Progress_Lock(bool bOn)
177 {
178  if( bOn )
179  {
181  }
182  else if( gSG_UI_Progress_Lock > 0 )
183  {
185  }
186 
187  return( gSG_UI_Progress_Lock );
188 }
189 
190 //---------------------------------------------------------
192 {
193  return( gSG_UI_Progress_Lock != 0 );
194 }
195 
196 //---------------------------------------------------------
198 {
199  int Locked = gSG_UI_Progress_Lock;
200 
202 
203  return( Locked );
204 }
205 
206 //---------------------------------------------------------
207 bool SG_UI_Process_Get_Okay(bool bBlink)
208 {
209  if( gSG_UI_Callback )
210  {
211  CSG_UI_Parameter p1(gSG_UI_Progress_Lock == 0 && bBlink), p2;
212 
213  return( gSG_UI_Callback(CALLBACK_PROCESS_GET_OKAY, p1, p2) != 0 );
214  }
215 
216  if( gSG_UI_Progress_Lock == 0 && bBlink )
217  {
218  static int iBuisy = 0; static const SG_Char Buisy[4] = { '|', '/', '-', '\\' };
219 
220  SG_UI_Console_Print_StdOut(CSG_String::Format("\r%c", Buisy[iBuisy++]), '\0', true);
221 
222  iBuisy %= 4;
223  }
224 
225  return( true );
226 }
227 
228 //---------------------------------------------------------
229 bool SG_UI_Process_Set_Okay(bool bOkay)
230 {
232  {
233  CSG_UI_Parameter p1(bOkay), p2;
234 
235  return( gSG_UI_Callback(CALLBACK_PROCESS_SET_OKAY, p1, p2) != 0 );
236  }
237 
238  return( true );
239 }
240 
241 //---------------------------------------------------------
242 bool SG_UI_Process_Set_Busy(bool bOn, const CSG_String &Message)
243 {
244  if( gSG_UI_Callback )
245  {
246  CSG_UI_Parameter p1(bOn), p2(Message);
247 
248  return( gSG_UI_Callback(CALLBACK_PROCESS_SET_BUSY, p1, p2) != 0 );
249  }
250 
251  return( true );
252 }
253 
254 //---------------------------------------------------------
255 bool SG_UI_Process_Set_Progress(int Position, int Range)
256 {
257  return( SG_UI_Process_Set_Progress((double)Position, (double)Range) );
258 }
259 
260 //---------------------------------------------------------
262 {
263  return( SG_UI_Process_Set_Progress((double)Position, (double)Range) );
264 }
265 
266 //---------------------------------------------------------
267 bool SG_UI_Process_Set_Progress(double Position, double Range)
268 {
269  if( gSG_UI_Progress_Lock > 0 )
270  {
271  return( SG_UI_Process_Get_Okay() );
272  }
273 
274  if( gSG_UI_Callback )
275  {
276  CSG_UI_Parameter p1(Position), p2(Range);
277 
278  return( gSG_UI_Callback(CALLBACK_PROCESS_SET_PROGRESS, p1, p2) != 0 );
279  }
280 
281  //-----------------------------------------------------
282  static int Progress = -1;
283 
284  int i = Position < 0. ? -1 : Range > 0. ? 1 + (int)(100. * Position / Range) : 100;
285 
286  if( Progress != i )
287  {
288  if( Progress < 0 || i < Progress )
289  {
290  SG_UI_Console_Print_StdOut("", '\n', true);
291  }
292 
293  Progress = i;
294 
295  if( Progress >= 0 )
296  {
297  SG_UI_Console_Print_StdOut(CSG_String::Format("\r%3d%%", Progress > 100 ? 100 : Progress), '\0', true);
298  }
299  }
300 
301  return( true );
302 }
303 
304 //---------------------------------------------------------
306 {
307  if( gSG_UI_Callback )
308  {
309  if( gSG_UI_Progress_Lock == 0 )
310  {
311  CSG_UI_Parameter p1, p2;
312 
313  return( gSG_UI_Callback(CALLBACK_PROCESS_SET_READY, p1, p2) != 0 );
314  }
315  }
316 
318 
319  return( true );
320 }
321 
322 //---------------------------------------------------------
324 {
325  if( gSG_UI_Progress_Lock == 0 )
326  {
327  if( gSG_UI_Callback )
328  {
329  CSG_UI_Parameter p1(Text), p2;
330 
332  }
333  else
334  {
335  SG_UI_Console_Print_StdOut(Text, '\n', true);
336  }
337  }
338 }
339 
340 
342 // //
343 // //
344 // //
346 
347 //---------------------------------------------------------
348 bool SG_UI_Stop_Execution(bool bDialog)
349 {
350  if( gSG_UI_Callback )
351  {
352  CSG_UI_Parameter p1(bDialog), p2;
353 
354  return( gSG_UI_Callback(CALLBACK_STOP_EXECUTION, p1, p2) != 0 );
355  }
356 
357  return( false );
358 }
359 
360 
362 // //
363 // //
364 // //
366 
367 //---------------------------------------------------------
368 void SG_UI_Dlg_Message(const CSG_String &Message, const CSG_String &Caption)
369 {
370  if( gSG_UI_Progress_Lock == 0 )
371  {
372  if( gSG_UI_Callback )
373  {
374  CSG_UI_Parameter p1(Message), p2(Caption);
375 
377  }
378  else
379  {
380  SG_UI_Console_Print_StdOut(CSG_String::Format("%s: %s", Caption.c_str(), Message.c_str()), '\n', true);
381  }
382  }
383 }
384 
385 //---------------------------------------------------------
386 bool SG_UI_Dlg_Continue(const CSG_String &Message, const CSG_String &Caption)
387 {
388  if( gSG_UI_Progress_Lock == 0 )
389  {
390  if( gSG_UI_Callback )
391  {
392  CSG_UI_Parameter p1(Message), p2(Caption);
393 
394  return( gSG_UI_Callback(CALLBACK_DLG_CONTINUE, p1, p2) != 0 );
395  }
396  }
397 
398  return( true );
399 }
400 
401 //---------------------------------------------------------
402 int SG_UI_Dlg_Error(const CSG_String &Message, const CSG_String &Caption)
403 {
404  if( gSG_UI_Progress_Lock != 0 )
405  {
406  SG_UI_Msg_Add_Error(Caption);
407  SG_UI_Msg_Add_Error(Message);
408 
409  return( 0 );
410  }
411 
412  if( gSG_UI_Callback )
413  {
414  CSG_UI_Parameter p1(Message), p2(Caption);
415 
416  return( gSG_UI_Callback(CALLBACK_DLG_ERROR, p1, p2) );
417  }
418 
419  return( 0 );
420 }
421 
422 //---------------------------------------------------------
423 void SG_UI_Dlg_Info(const CSG_String &Message, const CSG_String &Caption)
424 {
425  if( gSG_UI_Progress_Lock == 0 )
426  {
427  if( gSG_UI_Callback )
428  {
429  CSG_UI_Parameter p1(Message), p2(Caption);
430 
432  }
433  else
434  {
435  SG_UI_Console_Print_StdOut(CSG_String::Format("%s: %s", Caption.c_str(), Message.c_str()), '\n', true);
436  }
437  }
438 }
439 
440 
442 // //
443 // //
444 // //
446 
447 //---------------------------------------------------------
448 bool SG_UI_Dlg_Parameters(CSG_Parameters *pParameters, const CSG_String &Caption)
449 {
450  if( gSG_UI_Callback && pParameters )
451  {
452  CSG_UI_Parameter p1(pParameters), p2(Caption.is_Empty() ? pParameters->Get_Name() : Caption);
453 
454  return( gSG_UI_Callback(CALLBACK_DLG_PARAMETERS, p1, p2) != 0 );
455  }
456 
457  return( true );
458 }
459 
460 
462 // //
463 // //
464 // //
466 
467 //---------------------------------------------------------
469 
470 //---------------------------------------------------------
471 int SG_UI_Msg_Lock(bool bOn)
472 {
473  if( bOn )
474  {
475  gSG_UI_Msg_Lock++;
476  }
477  else if( gSG_UI_Msg_Lock > 0 )
478  {
479  gSG_UI_Msg_Lock--;
480  }
481 
482  return( gSG_UI_Msg_Lock );
483 }
484 
485 //---------------------------------------------------------
487 {
488  return( gSG_UI_Msg_Lock != 0 );
489 }
490 
491 //---------------------------------------------------------
493 {
494  int Locked = gSG_UI_Msg_Lock;
495 
496  gSG_UI_Msg_Lock = 0;
497 
498  return( Locked );
499 }
500 
501 //---------------------------------------------------------
502 void SG_UI_Msg_Add(const char *Message, bool bNewLine, TSG_UI_MSG_STYLE Style) { SG_UI_Msg_Add(CSG_String(Message), bNewLine, Style); }
503 void SG_UI_Msg_Add(const wchar_t *Message, bool bNewLine, TSG_UI_MSG_STYLE Style) { SG_UI_Msg_Add(CSG_String(Message), bNewLine, Style); }
504 void SG_UI_Msg_Add(const CSG_String &Message, bool bNewLine, TSG_UI_MSG_STYLE Style)
505 {
506  if( !gSG_UI_Msg_Lock )
507  {
508  if( gSG_UI_Callback )
509  {
510  int Flags[2]; Flags[0] = bNewLine ? 1 : 0; Flags[1] = Style;
511 
512  CSG_UI_Parameter p1(Message), p2(Flags);
513 
515  }
516  else
517  {
518  if( bNewLine )
519  {
521  }
522 
523  SG_UI_Console_Print_StdOut(Message, '\0', true);
524  }
525  }
526 }
527 
528 //---------------------------------------------------------
529 void SG_UI_Msg_Add_Execution(const char *Message, bool bNewLine, TSG_UI_MSG_STYLE Style) { SG_UI_Msg_Add_Execution(CSG_String(Message), bNewLine, Style); }
530 void SG_UI_Msg_Add_Execution(const wchar_t *Message, bool bNewLine, TSG_UI_MSG_STYLE Style) { SG_UI_Msg_Add_Execution(CSG_String(Message), bNewLine, Style); }
531 void SG_UI_Msg_Add_Execution(const CSG_String &Message, bool bNewLine, TSG_UI_MSG_STYLE Style)
532 {
533  if( !gSG_UI_Msg_Lock )
534  {
535  if( gSG_UI_Callback )
536  {
537  int Flags[2]; Flags[0] = bNewLine ? 1 : 0; Flags[1] = Style;
538 
539  CSG_UI_Parameter p1(Message), p2(Flags);
540 
542  }
543  else
544  {
545  if( bNewLine )
546  {
548  }
549 
550  SG_UI_Console_Print_StdOut(Message, '\0', true);
551  }
552  }
553 }
554 
555 //---------------------------------------------------------
556 void SG_UI_Msg_Add_Error(const char *Message) { SG_UI_Msg_Add_Error(CSG_String(Message)); }
557 void SG_UI_Msg_Add_Error(const wchar_t *Message) { SG_UI_Msg_Add_Error(CSG_String(Message)); }
558 void SG_UI_Msg_Add_Error(const CSG_String &Message)
559 {
560  if( !gSG_UI_Msg_Lock )
561  {
562  if( gSG_UI_Callback )
563  {
564  CSG_UI_Parameter p1(Message), p2;
565 
567  }
568  else
569  {
570  SG_UI_Console_Print_StdErr(CSG_String::Format("\n[%s] %s", _TL("Error"), Message.c_str()), '\0', true);
571  }
572  }
573 }
574 
575 //---------------------------------------------------------
576 void SG_UI_Msg_Flush(void)
577 {
578  fflush(stdout);
579  fflush(stderr);
580 }
581 
583 // //
584 // //
585 // //
587 
588 //---------------------------------------------------------
590 {
591  SG_UI_Progress_Lock(bOn);
592  SG_UI_Msg_Lock (bOn);
593 }
594 
595 //---------------------------------------------------------
597 {
599  SG_UI_Msg_Reset ();
600 }
601 
602 
604 // //
605 // //
606 // //
608 
609 //---------------------------------------------------------
610 bool SG_UI_DataObject_Add(CSG_Data_Object *pDataObject, int Show)
611 {
612  if( gSG_UI_Callback && pDataObject )
613  {
614  CSG_UI_Parameter p1(pDataObject), p2(Show);
615 
616  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_ADD, p1, p2) != 0 );
617  }
618 
619  return( false );
620 }
621 
622 //---------------------------------------------------------
623 bool SG_UI_DataObject_Del(CSG_Data_Object *pDataObject, bool bConfirm)
624 {
625  if( gSG_UI_Callback && pDataObject )
626  {
627  CSG_UI_Parameter p1(pDataObject), p2(bConfirm);
628 
629  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_DEL, p1, p2) != 0 );
630  }
631 
632  return( false );
633 }
634 
635 //---------------------------------------------------------
636 bool SG_UI_DataObject_Update(CSG_Data_Object *pDataObject, int Show, CSG_Parameters *pParameters)
637 {
638  if( gSG_UI_Callback && pDataObject )
639  {
640  CSG_UI_Parameter p1(pDataObject->Get_Owner() ? pDataObject->Get_Owner() : pDataObject), p2(pParameters);
641 
642  if( gSG_UI_Callback(CALLBACK_DATAOBJECT_UPDATE, p1, p2) != 0 )
643  {
644  if( Show != SG_UI_DATAOBJECT_UPDATE )
645  {
646  SG_UI_DataObject_Show(pDataObject, Show);
647  }
648 
649  return( true );
650  }
651  }
652 
653  return( false );
654 }
655 
656 //---------------------------------------------------------
657 bool SG_UI_DataObject_Show(CSG_Data_Object *pDataObject, int Show)
658 {
659  if( gSG_UI_Callback && pDataObject )
660  {
661  CSG_UI_Parameter p1(pDataObject), p2(Show);
662 
663  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_SHOW, p1, p2) != 0 );
664  }
665 
666  return( false );
667 }
668 
669 //---------------------------------------------------------
671 {
672  if( gSG_UI_Callback && pDataObject )
673  {
674  CSG_UI_Parameter p1(pDataObject), p2(pGrid);
675 
676  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_ASIMAGE, p1, p2) != 0 );
677  }
678 
679  return( false );
680 }
681 
682 //---------------------------------------------------------
684 {
685  if( gSG_UI_Callback && pDataObject && pColors )
686  {
687  CSG_UI_Parameter p1(pDataObject), p2(pColors);
688 
689  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_COLORS_GET, p1, p2) != 0 );
690  }
691 
692  return( false );
693 }
694 
695 //---------------------------------------------------------
697 {
698  if( gSG_UI_Progress_Lock == 0 && gSG_UI_Callback && pDataObject && pColors )
699  {
700  CSG_UI_Parameter p1(pDataObject), p2(pColors);
701 
702  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_COLORS_SET, p1, p2) != 0 );
703  }
704 
705  return( false );
706 }
707 
708 //---------------------------------------------------------
710 {
711  if( gSG_UI_Callback && pDataObject && pParameters )
712  {
713  CSG_UI_Parameter p1(pDataObject), p2(pParameters);
714 
715  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_PARAMS_GET, p1, p2) != 0 );
716  }
717 
718  return( false );
719 }
720 
721 //---------------------------------------------------------
723 {
724  if( gSG_UI_Progress_Lock == 0 && gSG_UI_Callback && pDataObject && pParameters )
725  {
726  CSG_UI_Parameter p1(pDataObject), p2(pParameters);
727 
728  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_PARAMS_SET, p1, p2) != 0 );
729  }
730 
731  return( false );
732 }
733 
734 //---------------------------------------------------------
735 bool SG_UI_Set_Map_Extent (double xMin, double yMin, double xMax, double yMax, int Maps)
736 {
737  if( gSG_UI_Callback )
738  {
739  CSG_Rect r(xMin, yMin, xMax, yMax); CSG_UI_Parameter p1(&r), p2(Maps);
740 
741  return( gSG_UI_Callback(CALLBACK_SET_MAP_EXTENT, p1, p2) != 0 );
742  }
743 
744  return( false );
745 }
746 
747 //---------------------------------------------------------
748 bool SG_UI_Diagram_Show (class CSG_Table *pTable, class CSG_Parameters *pParameters)
749 {
751  {
752  CSG_UI_Parameter p1(pTable), p2(pParameters);
753 
754  return( gSG_UI_Callback(CALLBACK_DIAGRAM_SHOW, p1, p2) != 0 );
755  }
756 
757  return( false );
758 }
759 
760 //---------------------------------------------------------
761 bool SG_UI_ODBC_Update (const CSG_String &Server)
762 {
763  if( gSG_UI_Callback )
764  {
765  CSG_UI_Parameter p1(Server), p2;
766 
767  return( gSG_UI_Callback(CALLBACK_DATABASE_UPDATE, p1, p2) != 0 );
768  }
769 
770  return( false );
771 }
772 
773 
775 // //
776 // //
777 // //
779 
780 //---------------------------------------------------------
781 int SG_UI_Window_Arrange (int Arrange)
782 {
783  if( gSG_UI_Callback )
784  {
785  CSG_UI_Parameter p1, p2;
786 
788 
789  return( 1 );
790  }
791 
792  return( 0 );
793 }
794 
795 //---------------------------------------------------------
797 {
798  if( gSG_UI_Callback )
799  {
800  CSG_UI_Parameter p1, p2;
801 
803 
804  return( p1.Pointer );
805  }
806 
807  return( NULL );
808 }
809 
810 
812 // //
813 // //
814 // //
816 
817 //---------------------------------------------------------
gSG_UI_Progress_Lock
int gSG_UI_Progress_Lock
Definition: api_callback.cpp:173
CSG_Rect
Definition: geo_tools.h:471
gSG_UI_Msg_Lock
int gSG_UI_Msg_Lock
Definition: api_callback.cpp:468
CALLBACK_DLG_CONTINUE
@ CALLBACK_DLG_CONTINUE
Definition: api_core.h:1563
CALLBACK_PROCESS_SET_BUSY
@ CALLBACK_PROCESS_SET_BUSY
Definition: api_core.h:1555
_TL
#define _TL(s)
Definition: api_core.h:1489
SG_UI_DataObject_Params_Set
bool SG_UI_DataObject_Params_Set(CSG_Data_Object *pDataObject, CSG_Parameters *pParameters)
Definition: api_callback.cpp:722
CSG_String::to_ASCII
bool to_ASCII(char **pString, char Replace='_') const
Definition: api_string.cpp:909
CALLBACK_DATAOBJECT_COLORS_GET
@ CALLBACK_DATAOBJECT_COLORS_GET
Definition: api_core.h:1579
SG_UI_Msg_Reset
int SG_UI_Msg_Reset(void)
Definition: api_callback.cpp:492
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(void)
Definition: api_core.h:1601
SG_UI_Dlg_Continue
bool SG_UI_Dlg_Continue(const CSG_String &Message, const CSG_String &Caption)
Definition: api_callback.cpp:386
SG_Set_UI_Callback
bool SG_Set_UI_Callback(TSG_PFNC_UI_Callback Function)
Definition: api_callback.cpp:137
CALLBACK_STOP_EXECUTION
@ CALLBACK_STOP_EXECUTION
Definition: api_core.h:1560
CALLBACK_DIAGRAM_SHOW
@ CALLBACK_DIAGRAM_SHOW
Definition: api_core.h:1586
gSG_UI_Callback
TSG_PFNC_UI_Callback gSG_UI_Callback
Definition: api_callback.cpp:134
CALLBACK_DLG_INFO
@ CALLBACK_DLG_INFO
Definition: api_core.h:1565
CALLBACK_DATABASE_UPDATE
@ CALLBACK_DATABASE_UPDATE
Definition: api_core.h:1588
SG_UI_Msg_Add_Execution
void SG_UI_Msg_Add_Execution(const char *Message, bool bNewLine, TSG_UI_MSG_STYLE Style)
Definition: api_callback.cpp:529
SG_UI_Process_Get_Okay
bool SG_UI_Process_Get_Okay(bool bBlink)
Definition: api_callback.cpp:207
SG_UI_ProgressAndMsg_Reset
void SG_UI_ProgressAndMsg_Reset(void)
Definition: api_callback.cpp:596
SG_UI_Process_Set_Okay
bool SG_UI_Process_Set_Okay(bool bOkay)
Definition: api_callback.cpp:229
SG_UI_Console_Print_StdOut
void SG_UI_Console_Print_StdOut(const char *Text, SG_Char End, bool bFlush)
Definition: api_callback.cpp:77
SG_UI_Stop_Execution
bool SG_UI_Stop_Execution(bool bDialog)
Definition: api_callback.cpp:348
SG_UI_DataObject_Del
bool SG_UI_DataObject_Del(CSG_Data_Object *pDataObject, bool bConfirm)
Definition: api_callback.cpp:623
grid.h
CALLBACK_PROCESS_SET_OKAY
@ CALLBACK_PROCESS_SET_OKAY
Definition: api_core.h:1554
api_core.h
CALLBACK_PROCESS_SET_PROGRESS
@ CALLBACK_PROCESS_SET_PROGRESS
Definition: api_core.h:1556
SG_UI_Msg_is_Locked
bool SG_UI_Msg_is_Locked(void)
Definition: api_callback.cpp:486
CSG_UI_Parameter::String
CSG_String String
Definition: api_core.h:1615
SG_UI_DataObject_Show
bool SG_UI_DataObject_Show(CSG_Data_Object *pDataObject, int Show)
Definition: api_callback.cpp:657
SG_Get_UI_Callback
TSG_PFNC_UI_Callback SG_Get_UI_Callback(void)
Definition: api_callback.cpp:145
SG_UI_Progress_Reset
int SG_UI_Progress_Reset(void)
Definition: api_callback.cpp:197
CSG_Data_Object::Get_Owner
CSG_Data_Object * Get_Owner(void) const
Definition: dataobject.h:231
SG_UI_Set_Map_Extent
bool SG_UI_Set_Map_Extent(double xMin, double yMin, double xMax, double yMax, int Maps)
Definition: api_callback.cpp:735
SG_UI_DATAOBJECT_UPDATE
@ SG_UI_DATAOBJECT_UPDATE
Definition: api_core.h:1518
TSG_PFNC_UI_Callback
int(* TSG_PFNC_UI_Callback)(TSG_UI_Callback_ID ID, CSG_UI_Parameter &Param_1, CSG_UI_Parameter &Param_2)
Definition: api_core.h:1620
SG_UI_ODBC_Update
bool SG_UI_ODBC_Update(const CSG_String &Server)
Definition: api_callback.cpp:761
SG_UI_Dlg_Message
void SG_UI_Dlg_Message(const CSG_String &Message, const CSG_String &Caption)
Definition: api_callback.cpp:368
CSG_Data_Object
Definition: dataobject.h:180
SG_UI_Dlg_Info
void SG_UI_Dlg_Info(const CSG_String &Message, const CSG_String &Caption)
Definition: api_callback.cpp:423
CALLBACK_SET_MAP_EXTENT
@ CALLBACK_SET_MAP_EXTENT
Definition: api_core.h:1584
SG_UI_Process_Set_Busy
bool SG_UI_Process_Set_Busy(bool bOn, const CSG_String &Message)
Definition: api_callback.cpp:242
SG_UI_Console_Set_UTF8
void SG_UI_Console_Set_UTF8(bool bOn)
Definition: api_callback.cpp:73
CALLBACK_DATAOBJECT_UPDATE
@ CALLBACK_DATAOBJECT_UPDATE
Definition: api_core.h:1575
CALLBACK_DLG_PARAMETERS
@ CALLBACK_DLG_PARAMETERS
Definition: api_core.h:1567
CALLBACK_PROCESS_SET_READY
@ CALLBACK_PROCESS_SET_READY
Definition: api_core.h:1557
SG_UI_Msg_Lock
int SG_UI_Msg_Lock(bool bOn)
Definition: api_callback.cpp:471
SG_UI_Dlg_Parameters
bool SG_UI_Dlg_Parameters(CSG_Parameters *pParameters, const CSG_String &Caption)
Definition: api_callback.cpp:448
SG_UI_DataObject_Update
bool SG_UI_DataObject_Update(CSG_Data_Object *pDataObject, int Show, CSG_Parameters *pParameters)
Definition: api_callback.cpp:636
CALLBACK_DATAOBJECT_ADD
@ CALLBACK_DATAOBJECT_ADD
Definition: api_core.h:1573
sLong
signed long long sLong
Definition: api_core.h:158
CALLBACK_DATAOBJECT_SHOW
@ CALLBACK_DATAOBJECT_SHOW
Definition: api_core.h:1576
CSG_UI_Parameter::Number
double Number
Definition: api_core.h:1611
SG_UI_DataObject_Add
bool SG_UI_DataObject_Add(CSG_Data_Object *pDataObject, int Show)
Definition: api_callback.cpp:610
SG_UI_DataObject_Colors_Set
bool SG_UI_DataObject_Colors_Set(CSG_Data_Object *pDataObject, CSG_Colors *pColors)
Definition: api_callback.cpp:696
SG_UI_Process_Set_Text
void SG_UI_Process_Set_Text(const CSG_String &Text)
Definition: api_callback.cpp:323
CALLBACK_DATAOBJECT_PARAMS_SET
@ CALLBACK_DATAOBJECT_PARAMS_SET
Definition: api_core.h:1582
SG_UI_Progress_Lock
int SG_UI_Progress_Lock(bool bOn)
Definition: api_callback.cpp:176
CALLBACK_DLG_ERROR
@ CALLBACK_DLG_ERROR
Definition: api_core.h:1564
CSG_UI_Parameter::Pointer
void * Pointer
Definition: api_core.h:1613
CALLBACK_MESSAGE_ADD_EXECUTION
@ CALLBACK_MESSAGE_ADD_EXECUTION
Definition: api_core.h:1571
CALLBACK_PROCESS_SET_TEXT
@ CALLBACK_PROCESS_SET_TEXT
Definition: api_core.h:1558
CSG_UI_Parameter
Definition: api_core.h:1599
parameters.h
CSG_String::Format
static CSG_String Format(const char *Format,...)
Definition: api_string.cpp:270
SG_UI_DataObject_Colors_Get
bool SG_UI_DataObject_Colors_Get(CSG_Data_Object *pDataObject, CSG_Colors *pColors)
Definition: api_callback.cpp:683
CSG_Table
Definition: table.h:283
CALLBACK_MESSAGE_ADD_ERROR
@ CALLBACK_MESSAGE_ADD_ERROR
Definition: api_core.h:1570
SG_UI_Dlg_Error
int SG_UI_Dlg_Error(const CSG_String &Message, const CSG_String &Caption)
Definition: api_callback.cpp:402
CSG_String::to_UTF8
size_t to_UTF8(char **pString) const
Definition: api_string.cpp:813
SG_UI_DataObject_Params_Get
bool SG_UI_DataObject_Params_Get(CSG_Data_Object *pDataObject, CSG_Parameters *pParameters)
Definition: api_callback.cpp:709
SG_Char
#define SG_Char
Definition: api_core.h:536
CSG_String
Definition: api_core.h:563
CALLBACK_GET_APP_WINDOW
@ CALLBACK_GET_APP_WINDOW
Definition: api_core.h:1592
CALLBACK_DATAOBJECT_DEL
@ CALLBACK_DATAOBJECT_DEL
Definition: api_core.h:1574
CSG_String::is_Empty
bool is_Empty(void) const
Definition: api_string.cpp:178
SG_UI_Process_Set_Progress
bool SG_UI_Process_Set_Progress(int Position, int Range)
Definition: api_callback.cpp:255
CALLBACK_WINDOW_ARRANGE
@ CALLBACK_WINDOW_ARRANGE
Definition: api_core.h:1590
SG_UI_Progress_is_Locked
bool SG_UI_Progress_is_Locked(void)
Definition: api_callback.cpp:191
CALLBACK_MESSAGE_ADD
@ CALLBACK_MESSAGE_ADD
Definition: api_core.h:1569
SG_UI_Console_Get_UTF8
bool SG_UI_Console_Get_UTF8(void)
Definition: api_callback.cpp:74
CSG_Grid
Definition: grid.h:475
SG_UI_Diagram_Show
bool SG_UI_Diagram_Show(class CSG_Table *pTable, class CSG_Parameters *pParameters)
Definition: api_callback.cpp:748
SG_UI_Window_Arrange
int SG_UI_Window_Arrange(int Arrange)
Definition: api_callback.cpp:781
CALLBACK_DATAOBJECT_PARAMS_GET
@ CALLBACK_DATAOBJECT_PARAMS_GET
Definition: api_core.h:1581
SG_UI_Get_Window_Main
void * SG_UI_Get_Window_Main(void)
Definition: api_callback.cpp:796
gSG_UI_Console_bUTF8
static bool gSG_UI_Console_bUTF8
Definition: api_callback.cpp:70
CALLBACK_PROCESS_GET_OKAY
@ CALLBACK_PROCESS_GET_OKAY
Definition: api_core.h:1553
SG_UI_DataObject_asImage
bool SG_UI_DataObject_asImage(CSG_Data_Object *pDataObject, CSG_Grid *pGrid)
Definition: api_callback.cpp:670
CALLBACK_DLG_MESSAGE
@ CALLBACK_DLG_MESSAGE
Definition: api_core.h:1562
CSG_Parameters::Get_Name
const CSG_String & Get_Name(void) const
Definition: parameters.h:1732
SG_UI_ProgressAndMsg_Lock
void SG_UI_ProgressAndMsg_Lock(bool bOn)
Definition: api_callback.cpp:589
CSG_String::c_str
const SG_Char * c_str(void) const
Definition: api_string.cpp:236
SG_UI_Process_Set_Ready
bool SG_UI_Process_Set_Ready(void)
Definition: api_callback.cpp:305
TSG_UI_MSG_STYLE
TSG_UI_MSG_STYLE
Definition: api_core.h:1501
CSG_UI_Parameter::Boolean
bool Boolean
Definition: api_core.h:1609
CSG_Parameters
Definition: parameters.h:1690
SG_UI_Msg_Add_Error
void SG_UI_Msg_Add_Error(const char *Message)
Definition: api_callback.cpp:556
SG_UI_Msg_Flush
void SG_UI_Msg_Flush(void)
Definition: api_callback.cpp:576
SG_UI_Console_Print_StdErr
void SG_UI_Console_Print_StdErr(const char *Text, SG_Char End, bool bFlush)
Definition: api_callback.cpp:102
CALLBACK_DATAOBJECT_ASIMAGE
@ CALLBACK_DATAOBJECT_ASIMAGE
Definition: api_core.h:1577
CALLBACK_DATAOBJECT_COLORS_SET
@ CALLBACK_DATAOBJECT_COLORS_SET
Definition: api_core.h:1580
CSG_Colors
Definition: api_core.h:1338
SG_UI_Msg_Add
void SG_UI_Msg_Add(const char *Message, bool bNewLine, TSG_UI_MSG_STYLE Style)
Definition: api_callback.cpp:502