mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Separate out the UI from the program logic
The following are UI toolkit specific: gtk-gui.c - overall layout, main window of the UI divelist.c - list of dives subsurface maintains equipment.c - equipment / tank information for each dive info.c - detailed dive info print.c - printing The rest is independent of the UI: main.c i - program frame dive.c i - creates and maintaines the internal dive list structure libdivecomputer.c uemis.c parse-xml.c save-xml.c - interface with dive computers and the XML files profile.c - creates the data for the profile and draws it using cairo This commit should contain NO functional changes, just moving code around and a couple of minor abstractions. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6ea5132463
commit
682135838f
18 changed files with 808 additions and 648 deletions
30
divelist.c
30
divelist.c
|
|
@ -1,3 +1,13 @@
|
|||
/* divelist.c */
|
||||
/* this creates the UI for the dive list -
|
||||
* controlled through the following interfaces:
|
||||
*
|
||||
* void flush_divelist(struct dive *dive)
|
||||
* GtkWidget dive_list_create(void)
|
||||
* void dive_list_update_dives(void)
|
||||
* void update_dive_list_units(void)
|
||||
* void set_divelist_font(const char *font)
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
|
@ -6,6 +16,7 @@
|
|||
#include "divelist.h"
|
||||
#include "dive.h"
|
||||
#include "display.h"
|
||||
#include "display-gtk.h"
|
||||
|
||||
struct DiveList {
|
||||
GtkWidget *tree_view;
|
||||
|
|
@ -34,6 +45,8 @@ enum {
|
|||
DIVELIST_COLUMNS
|
||||
};
|
||||
|
||||
/* the global dive list that we maintain */
|
||||
static struct DiveList dive_list;
|
||||
|
||||
static void selection_cb(GtkTreeSelection *selection, GtkTreeModel *model)
|
||||
{
|
||||
|
|
@ -48,23 +61,6 @@ static void selection_cb(GtkTreeSelection *selection, GtkTreeModel *model)
|
|||
repaint_dive();
|
||||
}
|
||||
|
||||
const char *weekday(int wday)
|
||||
{
|
||||
static const char wday_array[7][4] = {
|
||||
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
|
||||
};
|
||||
return wday_array[wday];
|
||||
}
|
||||
|
||||
const char *monthname(int mon)
|
||||
{
|
||||
static const char month_array[12][4] = {
|
||||
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
|
||||
"Jul", "Aug", "Oct", "Sep", "Nov", "Dec",
|
||||
};
|
||||
return month_array[mon];
|
||||
}
|
||||
|
||||
static void date_data_func(GtkTreeViewColumn *col,
|
||||
GtkCellRenderer *renderer,
|
||||
GtkTreeModel *model,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue