space widget, to add some space in the gui
This commit is contained in:
@@ -3,7 +3,7 @@ CFLAGS=-Wall -g -pthread
|
|||||||
|
|
||||||
OBJS=init.o loop.o toplevel_window.o x.o container.o widget.o \
|
OBJS=init.o loop.o toplevel_window.o x.o container.o widget.o \
|
||||||
gui.o label.o event.o xy_plot.o textlist.o notify.o positioner.o \
|
gui.o label.o event.o xy_plot.o textlist.o notify.o positioner.o \
|
||||||
timeline.o
|
timeline.o space.o
|
||||||
|
|
||||||
gui.a: $(OBJS)
|
gui.a: $(OBJS)
|
||||||
ar cr gui.a $(OBJS)
|
ar cr gui.a $(OBJS)
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ widget *new_xy_plot(gui *gui, int width, int height, char *label,
|
|||||||
widget *new_textlist(gui *gui, int width, int nlines, int background_color);
|
widget *new_textlist(gui *gui, int width, int nlines, int background_color);
|
||||||
widget *new_timeline(gui *gui, int width, int number_of_sublines,
|
widget *new_timeline(gui *gui, int width, int number_of_sublines,
|
||||||
int subline_height);
|
int subline_height);
|
||||||
|
widget *new_space(gui *gui, int width, int height);
|
||||||
|
|
||||||
void label_set_clickable(gui *gui, widget *label, int clickable);
|
void label_set_clickable(gui *gui, widget *label, int clickable);
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ extern int volatile gui_logd;
|
|||||||
|
|
||||||
enum widget_type {
|
enum widget_type {
|
||||||
TOPLEVEL_WINDOW, CONTAINER, POSITIONER, TEXT_LIST, XY_PLOT, BUTTON, LABEL,
|
TOPLEVEL_WINDOW, CONTAINER, POSITIONER, TEXT_LIST, XY_PLOT, BUTTON, LABEL,
|
||||||
TIMELINE
|
TIMELINE, SPACE
|
||||||
};
|
};
|
||||||
|
|
||||||
struct widget_list;
|
struct widget_list;
|
||||||
@@ -148,6 +148,12 @@ struct label_widget {
|
|||||||
int baseline; /* as given by the graphic's backend */
|
int baseline; /* as given by the graphic's backend */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct space_widget {
|
||||||
|
struct widget common;
|
||||||
|
int wanted_width;
|
||||||
|
int wanted_height;
|
||||||
|
};
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* events */
|
/* events */
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
#include "gui.h"
|
||||||
|
#include "gui_defs.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
static void paint(gui *_gui, widget *_w)
|
||||||
|
{
|
||||||
|
/* nothing */
|
||||||
|
}
|
||||||
|
|
||||||
|
static void hints(gui *_gui, widget *_w, int *width, int *height)
|
||||||
|
{
|
||||||
|
struct space_widget *w = _w;
|
||||||
|
LOGD("HINTS space %p\n", w);
|
||||||
|
*width = w->wanted_width;
|
||||||
|
*height = w->wanted_height;
|
||||||
|
}
|
||||||
|
|
||||||
|
widget *new_space(gui *_gui, int width, int height)
|
||||||
|
{
|
||||||
|
struct gui *g = _gui;
|
||||||
|
struct space_widget *w;
|
||||||
|
|
||||||
|
glock(g);
|
||||||
|
|
||||||
|
w = new_widget(g, SPACE, sizeof(struct space_widget));
|
||||||
|
|
||||||
|
w->wanted_width = width;
|
||||||
|
w->wanted_height = height;
|
||||||
|
|
||||||
|
w->common.paint = paint;
|
||||||
|
w->common.hints = hints;
|
||||||
|
|
||||||
|
gunlock(g);
|
||||||
|
|
||||||
|
return w;
|
||||||
|
}
|
||||||
@@ -265,12 +265,11 @@ void widget_dirty(gui *_gui, widget *_this)
|
|||||||
|
|
||||||
static const char *names[] = {
|
static const char *names[] = {
|
||||||
"TOPLEVEL_WINDOW", "CONTAINER", "POSITIONER", "TEXT_LIST",
|
"TOPLEVEL_WINDOW", "CONTAINER", "POSITIONER", "TEXT_LIST",
|
||||||
"XY_PLOT", "BUTTON", "LABEL", "TIMELINE"
|
"XY_PLOT", "BUTTON", "LABEL", "TIMELINE", "SPACE"
|
||||||
};
|
};
|
||||||
const char *widget_name(enum widget_type type)
|
const char *widget_name(enum widget_type type)
|
||||||
{
|
{
|
||||||
switch (type) {
|
switch (type) {
|
||||||
default: break;
|
|
||||||
case TOPLEVEL_WINDOW:
|
case TOPLEVEL_WINDOW:
|
||||||
case CONTAINER:
|
case CONTAINER:
|
||||||
case POSITIONER:
|
case POSITIONER:
|
||||||
@@ -279,6 +278,7 @@ const char *widget_name(enum widget_type type)
|
|||||||
case BUTTON:
|
case BUTTON:
|
||||||
case LABEL:
|
case LABEL:
|
||||||
case TIMELINE:
|
case TIMELINE:
|
||||||
|
case SPACE:
|
||||||
return names[type];
|
return names[type];
|
||||||
}
|
}
|
||||||
return "UNKNOWN (error)";
|
return "UNKNOWN (error)";
|
||||||
|
|||||||
Reference in New Issue
Block a user