1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-18 20:10:29 +01:00

WINGs: Make the Extras examples to compile

There is a table view example which is not compiling cause
of a missing lib, also fixed some warnings.
This commit is contained in:
David Maciejak
2023-03-12 09:55:50 +08:00
committed by Carlos R. Mafra
parent 4c52232ee7
commit 0526ddfc54
3 changed files with 25 additions and 11 deletions

View File

@@ -10,7 +10,7 @@ include_HEADERS = wtableview.h wtabledelegates.h
lib_LTLIBRARIES = libExtraWINGs.la lib_LTLIBRARIES = libExtraWINGs.la
noinst_PROGRAMS = test noinst_PROGRAMS = tableview
EXTRA_DIST = EXTRA_DIST =
@@ -25,6 +25,6 @@ AM_CPPFLAGS = -I$(top_srcdir)/wrlib -I$(top_srcdir)/WINGs \
LDADD= $(top_builddir)/WINGs/libWINGs.la $(top_builddir)/wrlib/libwraster.la \ LDADD= $(top_builddir)/WINGs/libWINGs.la $(top_builddir)/wrlib/libwraster.la \
$(top_builddir)/WINGs/libWUtil.la \ $(top_builddir)/WINGs/libWUtil.la \
@XFT_LIBS@ @INTLIBS@ @XFT_LIBS@ @INTLIBS@ @XLIBS@
test_LDADD = wtableview.o wtabledelegates.o $(LDADD) tableview_LDADD = wtableview.o wtabledelegates.o $(LDADD)

View File

@@ -19,13 +19,18 @@ static char *options[] = {
int numberOfRows(WMTableViewDelegate * self, WMTableView * table) int numberOfRows(WMTableViewDelegate * self, WMTableView * table)
{ {
(void) self;
(void) table;
return 20; return 20;
} }
void *valueForCell(WMTableViewDelegate * self, WMTableColumn * column, int row) void *valueForCell(WMTableViewDelegate * self, WMTableColumn * column, int row)
{ {
(void) self;
/*WMTableView *table = (WMTableView*)WMGetTableColumnTableView(column); */ /*WMTableView *table = (WMTableView*)WMGetTableColumnTableView(column); */
int i; int i;
if (col1[0] == 0) { if (col1[0] == 0) {
for (i = 0; i < 20; i++) { for (i = 0; i < 20; i++) {
char buf[128]; char buf[128];
@@ -44,6 +49,8 @@ void *valueForCell(WMTableViewDelegate * self, WMTableColumn * column, int row)
void setValueForCell(WMTableViewDelegate * self, WMTableColumn * column, int row, void *data) void setValueForCell(WMTableViewDelegate * self, WMTableColumn * column, int row, void *data)
{ {
(void) self;
if ((uintptr_t)WMGetTableColumnId(column) == 1) if ((uintptr_t)WMGetTableColumnId(column) == 1)
col1[row] = data; col1[row] = data;
else else
@@ -59,6 +66,7 @@ static WMTableViewDelegate delegate = {
void clickedTable(WMWidget * w, void *self) void clickedTable(WMWidget * w, void *self)
{ {
(void) w;
int row = WMGetTableViewClickedRow((WMTableView *) self); int row = WMGetTableViewClickedRow((WMTableView *) self);
WMEditTableViewRow(self, row); WMEditTableViewRow(self, row);

View File

@@ -2,6 +2,8 @@
#include <WINGs/WINGsP.h> #include <WINGs/WINGsP.h>
#include <X11/cursorfont.h> #include <X11/cursorfont.h>
#include <stdint.h> #include <stdint.h>
#include <math.h>
#include <float.h>
#include "wtableview.h" #include "wtableview.h"
@@ -274,7 +276,7 @@ static void adjustScrollers(WMTableView * table)
prop = 1.0; prop = 1.0;
} else { } else {
oprop = WMGetScrollerKnobProportion(table->hscroll); oprop = WMGetScrollerKnobProportion(table->hscroll);
if (oprop == 0.0) if (fabs(oprop) <= DBL_EPSILON)
oprop = 1.0; oprop = 1.0;
ovalue = WMGetScrollerValue(table->hscroll); ovalue = WMGetScrollerValue(table->hscroll);
@@ -290,7 +292,7 @@ static void adjustScrollers(WMTableView * table)
prop = 1.0; prop = 1.0;
} else { } else {
oprop = WMGetScrollerKnobProportion(table->vscroll); oprop = WMGetScrollerKnobProportion(table->vscroll);
if (oprop == 0.0) if (fabs(oprop) <= DBL_EPSILON)
oprop = 1.0; oprop = 1.0;
ovalue = WMGetScrollerValue(table->vscroll); ovalue = WMGetScrollerValue(table->vscroll);
@@ -332,7 +334,7 @@ static void doScroll(WMWidget * self, void *data)
case WSIncrementWheel: case WSIncrementWheel:
case WSIncrementLine: case WSIncrementLine:
value += (float)table->rowHeight / size; value += (float)table->rowHeight / size;
if (value > 1.0) if (value > (float)1.0)
value = 1.0; value = 1.0;
WMSetScrollerParameters(self, value, WMGetScrollerKnobProportion(self)); WMSetScrollerParameters(self, value, WMGetScrollerKnobProportion(self));
repaintTable(table); repaintTable(table);
@@ -344,7 +346,7 @@ static void doScroll(WMWidget * self, void *data)
case WSDecrementPage: case WSDecrementPage:
value -= vpsize / size; value -= vpsize / size;
if (value < 0.0) if (value < (float)0.0)
value = 0.0; value = 0.0;
WMSetScrollerParameters(self, value, WMGetScrollerKnobProportion(self)); WMSetScrollerParameters(self, value, WMGetScrollerKnobProportion(self));
repaintTable(table); repaintTable(table);
@@ -352,7 +354,7 @@ static void doScroll(WMWidget * self, void *data)
case WSIncrementPage: case WSIncrementPage:
value += vpsize / size; value += vpsize / size;
if (value > 1.0) if (value > (float)1.0)
value = 1.0; value = 1.0;
WMSetScrollerParameters(self, value, WMGetScrollerKnobProportion(self)); WMSetScrollerParameters(self, value, WMGetScrollerKnobProportion(self));
repaintTable(table); repaintTable(table);
@@ -398,6 +400,7 @@ static void doScroll(WMWidget * self, void *data)
static void splitterHandler(XEvent * event, void *data) static void splitterHandler(XEvent * event, void *data)
{ {
(void) event;
WMTableColumn *column = (WMTableColumn *) data; WMTableColumn *column = (WMTableColumn *) data;
WMTableView *table = column->table; WMTableView *table = column->table;
int done = 0; int done = 0;
@@ -451,6 +454,8 @@ static void splitterHandler(XEvent * event, void *data)
static void realizeTable(void *data, WMNotification * notif) static void realizeTable(void *data, WMNotification * notif)
{ {
(void) notif;
repaintTable(data); repaintTable(data);
} }
@@ -790,7 +795,6 @@ void WMSetTableViewRowHeight(WMTableView * table, int height)
void WMScrollTableViewRowToVisible(WMTableView * table, int row) void WMScrollTableViewRowToVisible(WMTableView * table, int row)
{ {
WMScroller *scroller;
WMRange range; WMRange range;
WMRect rect; WMRect rect;
int newY, tmp; int newY, tmp;
@@ -798,7 +802,6 @@ void WMScrollTableViewRowToVisible(WMTableView * table, int row)
rect = getVisibleRect(table); rect = getVisibleRect(table);
range = rowsInRect(table, rect); range = rowsInRect(table, rect);
scroller = table->vscroll;
if (row < range.position) { if (row < range.position) {
newY = row * table->rowHeight - rect.size.height / 2; newY = row * table->rowHeight - rect.size.height / 2;
@@ -1157,6 +1160,8 @@ static void handleEvents(XEvent * event, void *data)
static void handleResize(W_ViewDelegate * self, WMView * view) static void handleResize(W_ViewDelegate * self, WMView * view)
{ {
(void) self;
reorganizeInterior(view->self); reorganizeInterior(view->self);
} }
@@ -1167,7 +1172,8 @@ static void reorganizeInterior(WMTableView * table)
WMSize size = getTotalSize(table); WMSize size = getTotalSize(table);
WMView *view = table->view; WMView *view = table->view;
int vw, vh; int vw, vh;
int hsThickness, vsThickness; int hsThickness = 0;
int vsThickness = 0;
if (table->vscroll) if (table->vscroll)
vsThickness = WMWidgetWidth(table->vscroll); vsThickness = WMWidgetWidth(table->vscroll);