annotate libcore/core/inventory_dialog.h @ 121:789b23e01f52

misc: reorganize hierarchy, closes #2490
author David Demelier <markand@malikania.fr>
date Mon, 05 Oct 2020 13:25:06 +0200
parents src/core/inventory_dialog.h@f6b5e2fbbc81
children eadfed7674ac
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * inventory_dialog.h -- dialog for items
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr>
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #ifndef INVENTORY_DIALOG_H
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #define INVENTORY_DIALOG_H
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
22 #include "button.h"
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
23 #include "label.h"
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
24 #include "frame.h"
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
25
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 union event;
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 struct inventory;
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
29 struct theme;
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
30
121
789b23e01f52 misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents: 105
diff changeset
31 /**
789b23e01f52 misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents: 105
diff changeset
32 * \brief Inventory dialog state.
789b23e01f52 misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents: 105
diff changeset
33 */
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
34 enum inventory_dialog_state {
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
35 INVENTORY_DIALOG_NONE,
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
36 INVENTORY_DIALOG_SHOWING
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
37 };
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
38
121
789b23e01f52 misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents: 105
diff changeset
39 /**
789b23e01f52 misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents: 105
diff changeset
40 * \brief Inventory dialog.
789b23e01f52 misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents: 105
diff changeset
41 */
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 struct inventory_dialog {
105
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
43 int x; /*!< (RO) Position in x. */
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
44 int y; /*!< (RO) Position in y. */
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
45 struct inventory *inv; /*!< (RW, ref) Inventory to use. */
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
46 struct theme *theme; /*!< (RW, ref, optional) Theme to use. */
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
47 struct button bsort; /*!< (RO) Button sort. */
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
48 struct frame fgrid; /*!< (RO) Grid frame. */
105
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
49 struct frame fname; /*!< (RO) Frame for name. */
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
50 struct frame fdesc; /*!< (RO) Frame for description. */
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
51 struct label lname; /*!< (RO) Label for name. */
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
52 struct label ldesc; /*!< (RO) Label for description. */
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
53 enum inventory_dialog_state state; /*!< (RO) Current dialog state. */
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
54 unsigned int selrow; /*!< (RO) Current selected row. */
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
55 unsigned int selcol; /*!< (RO) Current selected column. */
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 };
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
57
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 void
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
59 inventory_dialog_open(struct inventory_dialog *dlg);
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
60
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 void
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
62 inventory_dialog_handle(struct inventory_dialog *dlg, const union event *event);
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
63
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 void
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
65 inventory_dialog_update(struct inventory_dialog *dlg, unsigned int ticks);
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
66
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 void
105
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
68 inventory_dialog_move(struct inventory_dialog *dlg, int x, int y);
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
69
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
70 void
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
71 inventory_dialog_draw(struct inventory_dialog *dlg);
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
72
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
73 void
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
74 inventory_dialog_finish(struct inventory_dialog *dlg);
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
75
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 #endif /* !INVENTORY_DIALOG_H */