SAGA API  v9.9
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_Callback )
426  {
427  CSG_UI_Parameter p1(Message), p2(Caption);
428 
430  }
431  else
432  {
433  SG_UI_Console_Print_StdOut(CSG_String::Format("%s: %s", Caption.c_str(), Message.c_str()), '\n', true);
434  }
435 }
436 
437 
439 // //
440 // //
441 // //
443 
444 //---------------------------------------------------------
445 bool SG_UI_Dlg_Parameters(CSG_Parameters *pParameters, const CSG_String &Caption)
446 {
447  if( gSG_UI_Callback && pParameters )
448  {
449  CSG_UI_Parameter p1(pParameters), p2(Caption.is_Empty() ? pParameters->Get_Name() : Caption);
450 
451  return( gSG_UI_Callback(CALLBACK_DLG_PARAMETERS, p1, p2) != 0 );
452  }
453 
454  return( true );
455 }
456 
457 
459 // //
460 // //
461 // //
463 
464 //---------------------------------------------------------
466 
467 //---------------------------------------------------------
468 int SG_UI_Msg_Lock(bool bOn)
469 {
470  if( bOn )
471  {
472  gSG_UI_Msg_Lock++;
473  }
474  else if( gSG_UI_Msg_Lock > 0 )
475  {
476  gSG_UI_Msg_Lock--;
477  }
478 
479  return( gSG_UI_Msg_Lock );
480 }
481 
482 //---------------------------------------------------------
484 {
485  return( gSG_UI_Msg_Lock != 0 );
486 }
487 
488 //---------------------------------------------------------
490 {
491  int Locked = gSG_UI_Msg_Lock;
492 
493  gSG_UI_Msg_Lock = 0;
494 
495  return( Locked );
496 }
497 
498 //---------------------------------------------------------
499 void SG_UI_Msg_Add(const char *Message, bool bNewLine, TSG_UI_MSG_STYLE Style) { SG_UI_Msg_Add(CSG_String(Message), bNewLine, Style); }
500 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); }
501 void SG_UI_Msg_Add(const CSG_String &Message, bool bNewLine, TSG_UI_MSG_STYLE Style)
502 {
503  if( !gSG_UI_Msg_Lock )
504  {
505  if( gSG_UI_Callback )
506  {
507  int Flags[2]; Flags[0] = bNewLine ? 1 : 0; Flags[1] = Style;
508 
509  CSG_UI_Parameter p1(Message), p2(Flags);
510 
512  }
513  else
514  {
515  if( bNewLine )
516  {
518  }
519 
520  SG_UI_Console_Print_StdOut(Message, '\0', true);
521  }
522  }
523 }
524 
525 //---------------------------------------------------------
526 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); }
527 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); }
528 void SG_UI_Msg_Add_Execution(const CSG_String &Message, bool bNewLine, TSG_UI_MSG_STYLE Style)
529 {
530  if( !gSG_UI_Msg_Lock )
531  {
532  if( gSG_UI_Callback )
533  {
534  int Flags[2]; Flags[0] = bNewLine ? 1 : 0; Flags[1] = Style;
535 
536  CSG_UI_Parameter p1(Message), p2(Flags);
537 
539  }
540  else
541  {
542  if( bNewLine )
543  {
545  }
546 
547  SG_UI_Console_Print_StdOut(Message, '\0', true);
548  }
549  }
550 }
551 
552 //---------------------------------------------------------
553 void SG_UI_Msg_Add_Error(const char *Message) { SG_UI_Msg_Add_Error(CSG_String(Message)); }
554 void SG_UI_Msg_Add_Error(const wchar_t *Message) { SG_UI_Msg_Add_Error(CSG_String(Message)); }
555 void SG_UI_Msg_Add_Error(const CSG_String &Message)
556 {
557  if( !gSG_UI_Msg_Lock )
558  {
559  if( gSG_UI_Callback )
560  {
561  CSG_UI_Parameter p1(Message), p2;
562 
564  }
565  else
566  {
567  SG_UI_Console_Print_StdErr(CSG_String::Format("\n[%s] %s", _TL("Error"), Message.c_str()), '\0', true);
568  }
569  }
570 }
571 
572 //---------------------------------------------------------
573 void SG_UI_Msg_Flush(void)
574 {
575  fflush(stdout);
576  fflush(stderr);
577 }
578 
580 // //
581 // //
582 // //
584 
585 //---------------------------------------------------------
587 {
588  SG_UI_Progress_Lock(bOn);
589  SG_UI_Msg_Lock (bOn);
590 }
591 
592 //---------------------------------------------------------
594 {
596  SG_UI_Msg_Reset ();
597 }
598 
599 
601 // //
602 // //
603 // //
605 
606 //---------------------------------------------------------
607 bool SG_UI_DataObject_Add(CSG_Data_Object *pDataObject, int Show)
608 {
609  if( gSG_UI_Callback && pDataObject )
610  {
611  CSG_UI_Parameter p1(pDataObject), p2(Show);
612 
613  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_ADD, p1, p2) != 0 );
614  }
615 
616  return( false );
617 }
618 
619 //---------------------------------------------------------
620 bool SG_UI_DataObject_Del(CSG_Data_Object *pDataObject, bool bConfirm)
621 {
622  if( gSG_UI_Callback && pDataObject )
623  {
624  CSG_UI_Parameter p1(pDataObject), p2(bConfirm);
625 
626  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_DEL, p1, p2) != 0 );
627  }
628 
629  return( false );
630 }
631 
632 //---------------------------------------------------------
633 bool SG_UI_DataObject_Update(CSG_Data_Object *pDataObject, int Show, CSG_Parameters *pParameters)
634 {
635  if( gSG_UI_Callback && pDataObject )
636  {
637  CSG_UI_Parameter p1(pDataObject->Get_Owner() ? pDataObject->Get_Owner() : pDataObject), p2(pParameters);
638 
639  if( gSG_UI_Callback(CALLBACK_DATAOBJECT_UPDATE, p1, p2) != 0 )
640  {
641  if( Show != SG_UI_DATAOBJECT_UPDATE )
642  {
643  SG_UI_DataObject_Show(pDataObject, Show);
644  }
645 
646  return( true );
647  }
648  }
649 
650  return( false );
651 }
652 
653 //---------------------------------------------------------
654 bool SG_UI_DataObject_Show(CSG_Data_Object *pDataObject, int Show)
655 {
656  if( gSG_UI_Callback && pDataObject )
657  {
658  CSG_UI_Parameter p1(pDataObject), p2(Show);
659 
660  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_SHOW, p1, p2) != 0 );
661  }
662 
663  return( false );
664 }
665 
666 //---------------------------------------------------------
668 {
669  if( gSG_UI_Callback && pDataObject )
670  {
671  CSG_UI_Parameter p1(pDataObject), p2(pGrid);
672 
673  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_ASIMAGE, p1, p2) != 0 );
674  }
675 
676  return( false );
677 }
678 
679 //---------------------------------------------------------
681 {
682  if( gSG_UI_Callback && pDataObject && pColors )
683  {
684  CSG_UI_Parameter p1(pDataObject), p2(pColors);
685 
686  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_COLORS_GET, p1, p2) != 0 );
687  }
688 
689  return( false );
690 }
691 
692 //---------------------------------------------------------
694 {
695  if( gSG_UI_Progress_Lock == 0 && gSG_UI_Callback && pDataObject && pColors )
696  {
697  CSG_UI_Parameter p1(pDataObject), p2(pColors);
698 
699  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_COLORS_SET, p1, p2) != 0 );
700  }
701 
702  return( false );
703 }
704 
705 //---------------------------------------------------------
706 bool SG_UI_DataObject_Classify(CSG_Data_Object *pDataObject, const CSG_MetaData &Options)
707 {
708  if( gSG_UI_Progress_Lock == 0 && gSG_UI_Callback && pDataObject )
709  {
710  CSG_UI_Parameter p1(pDataObject), p2((void *)&Options);
711 
712  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_CLASSIFY, p1, p2) != 0 );
713  }
714 
715  return( false );
716 }
717 
718 //---------------------------------------------------------
720 {
721  if( gSG_UI_Callback && pDataObject && pParameters )
722  {
723  CSG_UI_Parameter p1(pDataObject), p2(pParameters);
724 
725  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_PARAMS_GET, p1, p2) != 0 );
726  }
727 
728  return( false );
729 }
730 
731 //---------------------------------------------------------
733 {
734  if( gSG_UI_Progress_Lock == 0 && gSG_UI_Callback && pDataObject && pParameters )
735  {
736  CSG_UI_Parameter p1(pDataObject), p2(pParameters);
737 
738  return( gSG_UI_Callback(CALLBACK_DATAOBJECT_PARAMS_SET, p1, p2) != 0 );
739  }
740 
741  return( false );
742 }
743 
744 //---------------------------------------------------------
745 bool SG_UI_Set_Map_Extent (double xMin, double yMin, double xMax, double yMax, int Maps)
746 {
747  if( gSG_UI_Callback )
748  {
749  CSG_Rect r(xMin, yMin, xMax, yMax); CSG_UI_Parameter p1(&r), p2(Maps);
750 
751  return( gSG_UI_Callback(CALLBACK_SET_MAP_EXTENT, p1, p2) != 0 );
752  }
753 
754  return( false );
755 }
756 
757 //---------------------------------------------------------
758 bool SG_UI_Diagram_Show (class CSG_Table *pTable, class CSG_Parameters *pParameters)
759 {
761  {
762  CSG_UI_Parameter p1(pTable), p2(pParameters);
763 
764  return( gSG_UI_Callback(CALLBACK_DIAGRAM_SHOW, p1, p2) != 0 );
765  }
766 
767  return( false );
768 }
769 
770 //---------------------------------------------------------
771 bool SG_UI_ODBC_Update (const CSG_String &Server)
772 {
773  if( gSG_UI_Callback )
774  {
775  CSG_UI_Parameter p1(Server), p2;
776 
777  return( gSG_UI_Callback(CALLBACK_DATABASE_UPDATE, p1, p2) != 0 );
778  }
779 
780  return( false );
781 }
782 
783 
785 // //
786 // //
787 // //
789 
790 //---------------------------------------------------------
791 int SG_UI_Window_Arrange (int Arrange)
792 {
793  if( gSG_UI_Callback )
794  {
795  CSG_UI_Parameter p1, p2;
796 
798 
799  return( 1 );
800  }
801 
802  return( 0 );
803 }
804 
805 //---------------------------------------------------------
807 {
808  if( gSG_UI_Callback )
809  {
810  CSG_UI_Parameter p1, p2;
811 
813 
814  return( p1.Pointer );
815  }
816 
817  return( NULL );
818 }
819 
820 
822 // //
823 // //
824 // //
826 
827 //---------------------------------------------------------
gSG_UI_Progress_Lock
int gSG_UI_Progress_Lock
Definition: api_callback.cpp:173
CSG_Rect
Definition: geo_tools.h:474
gSG_UI_Msg_Lock
int gSG_UI_Msg_Lock
Definition: api_callback.cpp:465
CALLBACK_DLG_CONTINUE
@ CALLBACK_DLG_CONTINUE
Definition: api_core.h:1633
CALLBACK_PROCESS_SET_BUSY
@ CALLBACK_PROCESS_SET_BUSY
Definition: api_core.h:1625
_TL
#define _TL(s)
Definition: api_core.h:1559
SG_UI_DataObject_Params_Set
bool SG_UI_DataObject_Params_Set(CSG_Data_Object *pDataObject, CSG_Parameters *pParameters)
Definition: api_callback.cpp:732
CSG_String::to_ASCII
bool to_ASCII(char **pString, char Replace='_') const
Definition: api_string.cpp:956
CALLBACK_DATAOBJECT_COLORS_GET
@ CALLBACK_DATAOBJECT_COLORS_GET
Definition: api_core.h:1649
SG_UI_Msg_Reset
int SG_UI_Msg_Reset(void)
Definition: api_callback.cpp:489
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(void)
Definition: api_core.h:1674
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:1630
CALLBACK_DIAGRAM_SHOW
@ CALLBACK_DIAGRAM_SHOW
Definition: api_core.h:1659
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:1635
CALLBACK_DATABASE_UPDATE
@ CALLBACK_DATABASE_UPDATE
Definition: api_core.h:1661
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:526
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:593
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:620
grid.h
CALLBACK_PROCESS_SET_OKAY
@ CALLBACK_PROCESS_SET_OKAY
Definition: api_core.h:1624
api_core.h
CALLBACK_PROCESS_SET_PROGRESS
@ CALLBACK_PROCESS_SET_PROGRESS
Definition: api_core.h:1626
SG_UI_Msg_is_Locked
bool SG_UI_Msg_is_Locked(void)
Definition: api_callback.cpp:483
SG_UI_DataObject_Classify
bool SG_UI_DataObject_Classify(CSG_Data_Object *pDataObject, const CSG_MetaData &Options)
Definition: api_callback.cpp:706
CSG_UI_Parameter::String
CSG_String String
Definition: api_core.h:1688
SG_UI_DataObject_Show
bool SG_UI_DataObject_Show(CSG_Data_Object *pDataObject, int Show)
Definition: api_callback.cpp:654
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:745
SG_UI_DATAOBJECT_UPDATE
@ SG_UI_DATAOBJECT_UPDATE
Definition: api_core.h:1588
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:1693
SG_UI_ODBC_Update
bool SG_UI_ODBC_Update(const CSG_String &Server)
Definition: api_callback.cpp:771
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:1657
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:1645
CALLBACK_DLG_PARAMETERS
@ CALLBACK_DLG_PARAMETERS
Definition: api_core.h:1637
CALLBACK_PROCESS_SET_READY
@ CALLBACK_PROCESS_SET_READY
Definition: api_core.h:1627
SG_UI_Msg_Lock
int SG_UI_Msg_Lock(bool bOn)
Definition: api_callback.cpp:468
SG_UI_Dlg_Parameters
bool SG_UI_Dlg_Parameters(CSG_Parameters *pParameters, const CSG_String &Caption)
Definition: api_callback.cpp:445
SG_UI_DataObject_Update
bool SG_UI_DataObject_Update(CSG_Data_Object *pDataObject, int Show, CSG_Parameters *pParameters)
Definition: api_callback.cpp:633
CALLBACK_DATAOBJECT_ADD
@ CALLBACK_DATAOBJECT_ADD
Definition: api_core.h:1643
sLong
signed long long sLong
Definition: api_core.h:158
CALLBACK_DATAOBJECT_SHOW
@ CALLBACK_DATAOBJECT_SHOW
Definition: api_core.h:1646
CSG_UI_Parameter::Number
double Number
Definition: api_core.h:1684
SG_UI_DataObject_Add
bool SG_UI_DataObject_Add(CSG_Data_Object *pDataObject, int Show)
Definition: api_callback.cpp:607
SG_UI_DataObject_Colors_Set
bool SG_UI_DataObject_Colors_Set(CSG_Data_Object *pDataObject, CSG_Colors *pColors)
Definition: api_callback.cpp:693
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:1655
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:1634
CSG_UI_Parameter::Pointer
void * Pointer
Definition: api_core.h:1686
CALLBACK_MESSAGE_ADD_EXECUTION
@ CALLBACK_MESSAGE_ADD_EXECUTION
Definition: api_core.h:1641
CALLBACK_PROCESS_SET_TEXT
@ CALLBACK_PROCESS_SET_TEXT
Definition: api_core.h:1628
CSG_UI_Parameter
Definition: api_core.h:1672
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:680
CSG_Table
Definition: table.h:285
CALLBACK_MESSAGE_ADD_ERROR
@ CALLBACK_MESSAGE_ADD_ERROR
Definition: api_core.h:1640
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:860
SG_UI_DataObject_Params_Get
bool SG_UI_DataObject_Params_Get(CSG_Data_Object *pDataObject, CSG_Parameters *pParameters)
Definition: api_callback.cpp:719
SG_Char
#define SG_Char
Definition: api_core.h:536
CSG_String
Definition: api_core.h:563
CSG_MetaData
Definition: metadata.h:88
CALLBACK_GET_APP_WINDOW
@ CALLBACK_GET_APP_WINDOW
Definition: api_core.h:1665
CALLBACK_DATAOBJECT_DEL
@ CALLBACK_DATAOBJECT_DEL
Definition: api_core.h:1644
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:1663
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:1639
SG_UI_Console_Get_UTF8
bool SG_UI_Console_Get_UTF8(void)
Definition: api_callback.cpp:74
CSG_Grid
Definition: grid.h:501
SG_UI_Diagram_Show
bool SG_UI_Diagram_Show(class CSG_Table *pTable, class CSG_Parameters *pParameters)
Definition: api_callback.cpp:758
SG_UI_Window_Arrange
int SG_UI_Window_Arrange(int Arrange)
Definition: api_callback.cpp:791
CALLBACK_DATAOBJECT_PARAMS_GET
@ CALLBACK_DATAOBJECT_PARAMS_GET
Definition: api_core.h:1654
SG_UI_Get_Window_Main
void * SG_UI_Get_Window_Main(void)
Definition: api_callback.cpp:806
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:1623
SG_UI_DataObject_asImage
bool SG_UI_DataObject_asImage(CSG_Data_Object *pDataObject, CSG_Grid *pGrid)
Definition: api_callback.cpp:667
CALLBACK_DLG_MESSAGE
@ CALLBACK_DLG_MESSAGE
Definition: api_core.h:1632
CSG_Parameters::Get_Name
const CSG_String & Get_Name(void) const
Definition: parameters.h:1738
SG_UI_ProgressAndMsg_Lock
void SG_UI_ProgressAndMsg_Lock(bool bOn)
Definition: api_callback.cpp:586
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:1571
CSG_UI_Parameter::Boolean
bool Boolean
Definition: api_core.h:1682
CSG_Parameters
Definition: parameters.h:1696
SG_UI_Msg_Add_Error
void SG_UI_Msg_Add_Error(const char *Message)
Definition: api_callback.cpp:553
SG_UI_Msg_Flush
void SG_UI_Msg_Flush(void)
Definition: api_callback.cpp:573
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:1647
CALLBACK_DATAOBJECT_CLASSIFY
@ CALLBACK_DATAOBJECT_CLASSIFY
Definition: api_core.h:1652
CALLBACK_DATAOBJECT_COLORS_SET
@ CALLBACK_DATAOBJECT_COLORS_SET
Definition: api_core.h:1650
CSG_Colors
Definition: api_core.h:1408
SG_UI_Msg_Add
void SG_UI_Msg_Add(const char *Message, bool bNewLine, TSG_UI_MSG_STYLE Style)
Definition: api_callback.cpp:499