annotate src/core/inventory_dialog.h @ 117:445035ace840

core: fix panic handling early
author David Demelier <markand@malikania.fr>
date Sat, 03 Oct 2020 19:03:22 +0200
parents f6b5e2fbbc81
children
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
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
31 enum inventory_dialog_state {
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
32 INVENTORY_DIALOG_NONE,
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
33 INVENTORY_DIALOG_SHOWING
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
34 };
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 struct inventory_dialog {
105
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
37 int x; /*!< (RO) Position in x. */
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
38 int y; /*!< (RO) Position in y. */
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
39 struct inventory *inv; /*!< (RW, ref) Inventory to use. */
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
40 struct theme *theme; /*!< (RW, ref, optional) Theme to use. */
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
41 struct button bsort; /*!< (RO) Button sort. */
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
42 struct frame fgrid; /*!< (RO) Grid frame. */
105
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
43 struct frame fname; /*!< (RO) Frame for name. */
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
44 struct frame fdesc; /*!< (RO) Frame for description. */
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
45 struct label lname; /*!< (RO) Label for name. */
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
46 struct label ldesc; /*!< (RO) Label for description. */
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
47 enum inventory_dialog_state state; /*!< (RO) Current dialog state. */
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
48 unsigned int selrow; /*!< (RO) Current selected row. */
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
49 unsigned int selcol; /*!< (RO) Current selected column. */
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 };
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
51
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 void
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
53 inventory_dialog_open(struct inventory_dialog *dlg);
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
54
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 void
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
56 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
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_update(struct inventory_dialog *dlg, unsigned int ticks);
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
105
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
62 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
63
f6b5e2fbbc81 inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents: 102
diff changeset
64 void
102
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
65 inventory_dialog_draw(struct inventory_dialog *dlg);
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
66
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
67 void
26fef20fd89d inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents: 99
diff changeset
68 inventory_dialog_finish(struct inventory_dialog *dlg);
99
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
4ac71ac10c9f core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 #endif /* !INVENTORY_DIALOG_H */