[Pkg-wmaker-commits] [wmforecast] 22/63: new GUI for editing preferences (still non-functional)

Doug Torrance dtorrance-guest at moszumanska.debian.org
Mon Aug 17 11:20:34 UTC 2015


This is an automated email from the git hooks/post-receive script.

dtorrance-guest pushed a commit to branch master
in repository wmforecast.

commit 68163f42b48276fbc5118d12eba7e44c66d3360b
Author: Doug Torrance <dtorrance at monmouthcollege.edu>
Date:   Wed May 7 00:53:41 2014 -0500

    new GUI for editing preferences (still non-functional)
---
 ChangeLog    |   4 ++
 wmforecast.c | 152 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 156 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 50cfa05..bc3a07f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-05-07  Doug Torrance <dtorrance at monmouthcollege.edu>
+	* wmforecast.c (editPreferences): new function, GUI for editing user
+	  preferences; currently non-functioning
+
 2014-04-21  Doug Torrance <dtorrance at monmouthcollege.edu>
 	* wmforecast.c: changed all calls to free to use WINGs's native wfree;
 	  removed if statements before calls to free, since wfree already does
diff --git a/wmforecast.c b/wmforecast.c
index 9d40e0b..e0b1b6c 100755
--- a/wmforecast.c
+++ b/wmforecast.c
@@ -640,10 +640,162 @@ UpdateData *newUpdateData(WMScreen *screen, Dockapp *dockapp, Preferences *prefs
 	return data;
 }
 
+typedef struct {
+	Preferences *prefs;
+	WMButton *apply;
+	WMButton *celsius;
+	WMButton *close;
+	WMButton *fahrenheit;
+	WMButton *save;
+	WMButton *woeid;
+	WMButton *zip;
+	WMFrame *intervalFrame;
+	WMFrame *locationFrame;
+	WMFrame *units;
+	WMLabel *minutes;
+	WMLabel *woeid_zip;
+	WMScreen *screen;
+	WMTextField *interval;
+	WMTextField *location;
+	WMTextField *woeidField;
+	WMTextField *zipField;
+	WMWindow *window;
+} PreferencesWindow;
+
+static void closePreferences(WMWidget *widget, void *data)
+{
+	PreferencesWindow *pw;
+
+	pw = (PreferencesWindow *)data;
+	WMDestroyWidget(pw->window);
+}
+
+static void editPreferences(void *data)
+{
+	char intervalPtr[50];
+	PreferencesWindow *pw;
+
+	pw = wmalloc(sizeof(PreferencesWindow));
+
+	UpdateData *d = (UpdateData *)data;
+	pw->screen = d->screen;
+	pw->prefs = d->prefs;
+
+
+	pw->window = WMCreateWindow(pw->screen, "wmforecast");
+	WMSetWindowTitle(pw->window, "wmforecast");
+	WMSetWindowCloseAction (pw->window, closePreferences, pw);
+	WMResizeWidget(pw->window, 424, 130);
+	WMRealizeWidget(pw->window);
+	WMMapWidget(pw->window);
+
+	pw->units = WMCreateFrame(pw->window);
+	WMSetFrameTitle(pw->units, "Units");
+	WMResizeWidget(pw->units, 112, 80);
+	WMMoveWidget(pw->units, 10, 10);
+	WMRealizeWidget(pw->units);
+	WMMapWidget(pw->units);
+
+	pw->celsius = WMCreateButton(pw->units, WBTRadio);
+	WMSetButtonText(pw->celsius, "Celsius");
+	WMMoveWidget(pw->celsius, 10, 20);
+	if (strcmp(pw->prefs->units,"c") == 0)
+		WMSetButtonSelected(pw->celsius,1);
+	WMRealizeWidget(pw->celsius);
+	WMMapWidget(pw->celsius);
+
+	pw->fahrenheit = WMCreateButton(pw->units, WBTRadio);
+	WMSetButtonText(pw->fahrenheit, "Fahrenheit");
+	WMMoveWidget(pw->fahrenheit, 10, 44);
+	if (strcmp(pw->prefs->units,"f") == 0)
+		WMSetButtonSelected(pw->fahrenheit,1);
+	WMRealizeWidget(pw->fahrenheit);
+	WMMapWidget(pw->fahrenheit);
+
+	pw->locationFrame = WMCreateFrame(pw->window);
+	WMSetFrameTitle(pw->locationFrame, "Location");
+	WMResizeWidget(pw->locationFrame, 160, 80);
+	WMMoveWidget(pw->locationFrame, 132, 10);
+	WMRealizeWidget(pw->locationFrame);
+	WMMapWidget(pw->locationFrame);
+
+	pw->woeid = WMCreateButton(pw->locationFrame, WBTRadio);
+	WMSetButtonText(pw->woeid, "WOEID");
+	WMMoveWidget(pw->woeid, 10, 20);
+	if (strcmp(pw->prefs->woeid_or_zip,"w") == 0)
+		WMSetButtonSelected(pw->woeid,1);
+	WMRealizeWidget(pw->woeid);
+	WMMapWidget(pw->woeid);
+
+	pw->woeidField = WMCreateTextField(pw->locationFrame);
+	WMSetTextFieldText(pw->woeidField, pw->prefs->woeid);
+	WMResizeWidget(pw->woeidField, 60, 20);
+	WMMoveWidget(pw->woeidField, 90, 20);
+	WMRealizeWidget(pw->woeidField);
+	WMMapWidget(pw->woeidField);
+
+	pw->zip = WMCreateButton(pw->locationFrame, WBTRadio);
+	WMSetButtonText(pw->zip, "ZIP code");
+	WMMoveWidget(pw->zip, 10, 44);
+	if (strcmp(pw->prefs->woeid_or_zip,"z") == 0)
+		WMSetButtonSelected(pw->zip,1);
+	WMRealizeWidget(pw->zip);
+	WMMapWidget(pw->zip);
+
+	pw->zipField = WMCreateTextField(pw->locationFrame);
+	WMSetTextFieldText(pw->zipField, pw->prefs->zip);
+	WMResizeWidget(pw->zipField, 60, 20);
+	WMMoveWidget(pw->zipField, 90, 44);
+	WMRealizeWidget(pw->zipField);
+	WMMapWidget(pw->zipField);
+
+	pw->intervalFrame = WMCreateFrame(pw->window);
+	WMSetFrameTitle(pw->intervalFrame, "Refresh interval");
+	WMResizeWidget(pw->intervalFrame, 112, 80);
+	WMMoveWidget(pw->intervalFrame, 302, 10);
+	WMRealizeWidget(pw->intervalFrame);
+	WMMapWidget(pw->intervalFrame);
+
+	pw->interval = WMCreateTextField(pw->intervalFrame);
+	sprintf(intervalPtr, "%lu", pw->prefs->interval);
+	WMSetTextFieldText(pw->interval, intervalPtr);
+	WMResizeWidget(pw->interval, 30, 20);
+	WMMoveWidget(pw->interval, 15, 33);
+	WMRealizeWidget(pw->interval);
+	WMMapWidget(pw->interval);
+
+	pw->minutes = WMCreateLabel(pw->intervalFrame);
+	WMSetLabelText(pw->minutes, "minutes");
+	WMMoveWidget(pw->minutes, 45, 35);
+	WMRealizeWidget(pw->minutes);
+	WMMapWidget(pw->minutes);
+
+	pw->close = WMCreateButton(pw->window, WBTMomentaryPush);
+	WMSetButtonText(pw->close, "Close");
+	WMSetButtonAction(pw->close, closePreferences, pw);
+	WMMoveWidget(pw->close, 10, 100);
+	WMRealizeWidget(pw->close);
+	WMMapWidget(pw->close);
+
+	pw->apply = WMCreateButton(pw->window, WBTMomentaryPush);
+	WMSetButtonText(pw->apply, "Apply");
+	WMMoveWidget(pw->apply, 285, 100);
+	WMRealizeWidget(pw->apply);
+	WMMapWidget(pw->apply);
+
+	pw->save = WMCreateButton(pw->window, WBTMomentaryPush);
+	WMSetButtonText(pw->save, "Save");
+	WMMoveWidget(pw->save, 353, 100);
+	WMRealizeWidget(pw->save);
+	WMMapWidget(pw->save);
+}
+
 static void refresh(XEvent *event, void *data)
 {
 	if (WMIsDoubleClick(event) && event->xbutton.button == Button1) 
 		updateDockapp(data);
+	if (event->xbutton.button == Button3)
+		editPreferences(data);
 }
 
 static void timerHandler(void *data)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-wmaker/wmforecast.git



More information about the Pkg-wmaker-commits mailing list