Scippy

SCIP

Solving Constraint Integer Programs

type_dialog.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the program and library */
4 /* SCIP --- Solving Constraint Integer Programs */
5 /* */
6 /* Copyright (C) 2002-2014 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SCIP is distributed under the terms of the ZIB Academic License. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SCIP; see the file COPYING. If not email to scip@zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file type_dialog.h
17  * @ingroup TYPEDEFINITIONS
18  * @brief type definitions for user interface dialog
19  * @author Tobias Achterberg
20  *
21  * This file defines the interface for dialogs implemented in C.
22  *
23  * - \ref DIALOG "Instructions for implementing a dialog"
24  * - \ref DIALOGS "List of available dialogs"
25  * - \ref scip::ObjDialog "C++ wrapper class
26  */
27 
28 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
29 
30 #ifndef __SCIP_TYPE_DIALOG_H__
31 #define __SCIP_TYPE_DIALOG_H__
32 
33 #include "scip/def.h"
34 #include "scip/type_retcode.h"
35 #include "scip/type_scip.h"
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 typedef struct SCIP_Dialog SCIP_DIALOG; /**< user interface dialog */
42 typedef struct SCIP_DialogData SCIP_DIALOGDATA; /**< user defined dialog data */
43 typedef struct SCIP_Dialoghdlr SCIP_DIALOGHDLR; /**< dialog handler */
44 typedef struct SCIP_Linelist SCIP_LINELIST; /**< linked list of single input lines */
45 
46 
47 /** copy method for dialog plugins (called when SCIP copies plugins)
48  *
49  * input:
50  * - scip : SCIP main data structure
51  * - dialog : the dialog itself
52  */
53 #define SCIP_DECL_DIALOGCOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP_DIALOG* dialog)
54 
55 /** destructor of dialog to free user data (called when the dialog is not captured anymore)
56  *
57  * input:
58  * - scip : SCIP main data structure
59  * - dialog : the dialog itself
60  */
61 #define SCIP_DECL_DIALOGFREE(x) SCIP_RETCODE x (SCIP* scip, SCIP_DIALOG* dialog)
62 
63 /** description output method of dialog
64  *
65  * This method should output (usually a single line of) information describing the meaning of the dialog.
66  * The method is called, when the help menu of the parent's dialog is displayed.
67  * If no description output method is given, the description string of the dialog is displayed instead.
68  *
69  * input:
70  * - scip : SCIP main data structure
71  * - *dialog : the dialog itself
72  */
73 #define SCIP_DECL_DIALOGDESC(x) SCIP_RETCODE x (SCIP* scip, SCIP_DIALOG* dialog)
74 
75 /** execution method of dialog
76  *
77  * This method is invoked, if the user selected the dialog's command name in the parent's dialog menu.
78  *
79  * input:
80  * - scip : SCIP main data structure
81  * - dialoghdlr : dialog handler to call for user interaction
82  * - dialog : the dialog itself
83  *
84  * output:
85  * - *nextdialog : next dialog to process (or NULL to quit dialog processing)
86  */
87 #define SCIP_DECL_DIALOGEXEC(x) SCIP_RETCODE x (SCIP* scip, SCIP_DIALOG* dialog, SCIP_DIALOGHDLR* dialoghdlr, SCIP_DIALOG** nextdialog)
88 
89 #ifdef __cplusplus
90 }
91 #endif
92 
93 #endif
94