Branch data Line data Source code
1 : : /* -*- mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*- */
2 : : /* cc-timelike-editor.h
3 : : *
4 : : * Copyright 2020 Purism SPC
5 : : *
6 : : * This program is free software: you can redistribute it and/or modify
7 : : * it under the terms of the GNU General Public License as published by
8 : : * the Free Software Foundation, either version 2 of the License, or
9 : : * (at your option) any later version.
10 : : *
11 : : * This program is distributed in the hope that it will be useful,
12 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 : : * GNU General Public License for more details.
15 : : *
16 : : * You should have received a copy of the GNU General Public License
17 : : * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 : : *
19 : : * Author(s):
20 : : * Mohammed Sadiq <sadiq@sadiqpk.org>
21 : : *
22 : : * SPDX-License-Identifier: GPL-3.0-or-later
23 : : */
24 : :
25 : : #pragma once
26 : :
27 : : #include <adwaita.h>
28 : :
29 : : G_BEGIN_DECLS
30 : :
31 : : /**
32 : : * CcTimelikeEditorMode:
33 : : * @CC_TIMELIKE_EDITOR_MODE_TIME: a wall clock time [00:00, 23:59]
34 : : * @CC_TIMELIKE_EDITOR_MODE_DURATION: a duration in hours and minutes, may have
35 : : * an arbitrary range
36 : : *
37 : : * What kind of time the editor is meant to represent — a wall clock time,
38 : : * or a duration.
39 : : */
40 : : typedef enum {
41 : : CC_TIMELIKE_EDITOR_MODE_TIME,
42 : : CC_TIMELIKE_EDITOR_MODE_DURATION,
43 : : } CcTimelikeEditorMode;
44 : :
45 : : #define CC_TYPE_TIMELIKE_EDITOR (cc_timelike_editor_get_type ())
46 : :
47 [ # # # # : 0 : G_DECLARE_FINAL_TYPE (CcTimelikeEditor, cc_timelike_editor, CC, TIMELIKE_EDITOR, GtkWidget)
# # ]
48 : :
49 : : CcTimelikeEditor *cc_timelike_editor_new (void);
50 : : void cc_timelike_editor_set_time (CcTimelikeEditor *self,
51 : : guint hour,
52 : : guint minute);
53 : : guint cc_timelike_editor_get_hour (CcTimelikeEditor *self);
54 : : guint cc_timelike_editor_get_minute (CcTimelikeEditor *self);
55 : :
56 : : CcTimelikeEditorMode cc_timelike_editor_get_mode (CcTimelikeEditor *self);
57 : : void cc_timelike_editor_set_mode (CcTimelikeEditor *self,
58 : : CcTimelikeEditorMode mode);
59 : :
60 : : guint cc_timelike_editor_get_minute_increment (CcTimelikeEditor *self);
61 : : void cc_timelike_editor_set_minute_increment (CcTimelikeEditor *self,
62 : : guint minutes);
63 : :
64 : : G_END_DECLS
|