More go fmt.

This commit is contained in:
Pietro Gagliardi 2014-06-10 10:22:30 -04:00
parent 94f9684e68
commit 3c1a61049b
3 changed files with 176 additions and 176 deletions

View File

@ -2,7 +2,7 @@
package ui
const eventbufsiz = 100 // suggested by skelterjohn
const eventbufsiz = 100 // suggested by skelterjohn
// newEvent returns a new channel suitable for listening for events.
func newEvent() chan struct{} {
@ -11,12 +11,12 @@ func newEvent() chan struct{} {
// The sysData type contains all system data. It provides the system-specific underlying implementation. It is guaranteed to have the following by embedding:
type cSysData struct {
ctype int
event chan struct{}
resize func(x int, y int, width int, height int, rr *[]resizerequest)
resizes []resizerequest
alternate bool // editable for Combobox, multi-select for listbox, password for lineedit
handler AreaHandler // for Areas
ctype int
event chan struct{}
resize func(x int, y int, width int, height int, rr *[]resizerequest)
resizes []resizerequest
alternate bool // editable for Combobox, multi-select for listbox, password for lineedit
handler AreaHandler // for Areas
}
// this interface is used to make sure all sysDatas are synced
@ -41,7 +41,7 @@ var _xSysData interface {
len() int
setAreaSize(int, int)
repaintAll()
} = &sysData{} // this line will error if there's an inconsistency
} = &sysData{} // this line will error if there's an inconsistency
// signal sends the event signal. This raise is done asynchronously to avoid deadlocking the UI task.
// Thanks skelterjohn for this techinque: if we can't queue any more events, drop them
@ -71,27 +71,27 @@ const (
func mksysdata(ctype int) *sysData {
s := &sysData{
cSysData: cSysData{
ctype: ctype,
cSysData: cSysData{
ctype: ctype,
},
}
if ctype == c_window { // make resizes non-nil so it can be passed in
if ctype == c_window { // make resizes non-nil so it can be passed in
s.resizes = make([]resizerequest, 0, 0)
}
return s
}
type resizerequest struct {
sysData *sysData
x int
y int
width int
height int
sysData *sysData
x int
y int
width int
height int
}
func (s *sysData) doResize(x int, y int, width int, height int, winheight int) {
if s.resize != nil {
s.resizes = s.resizes[0:0] // set len to 0 without changing cap
s.resizes = s.resizes[0:0] // set len to 0 without changing cap
s.resize(x, y, width, height, &s.resizes)
for _, s := range s.resizes {
err := s.sysData.setRect(s.x, s.y, s.width, s.height, winheight)

View File

@ -13,24 +13,24 @@ import "C"
type sysData struct {
cSysData
id C.id
trackingArea C.id // for Area
id C.id
trackingArea C.id // for Area
}
type classData struct {
make func(parentWindow C.id, alternate bool, s *sysData) C.id
getinside func(scrollview C.id) C.id
show func(what C.id)
hide func(what C.id)
settext func(what C.id, text C.id)
text func(what C.id, alternate bool) C.id
append func(id C.id, what string, alternate bool)
insertBefore func(id C.id, what string, before int, alternate bool)
selIndex func(id C.id) int
selIndices func(id C.id) []int
selTexts func(id C.id) []string
delete func(id C.id, index int)
len func(id C.id) int
make func(parentWindow C.id, alternate bool, s *sysData) C.id
getinside func(scrollview C.id) C.id
show func(what C.id)
hide func(what C.id)
settext func(what C.id, text C.id)
text func(what C.id, alternate bool) C.id
append func(id C.id, what string, alternate bool)
insertBefore func(id C.id, what string, before int, alternate bool)
selIndex func(id C.id) int
selIndices func(id C.id) []int
selTexts func(id C.id) []string
delete func(id C.id, index int)
len func(id C.id) int
}
func addControl(parentWindow C.id, control C.id) {
@ -56,148 +56,148 @@ func applyStandardControlFont(id C.id) {
}
var classTypes = [nctypes]*classData{
c_window: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
c_window: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
return C.makeWindow(appDelegate)
},
show: func(what C.id) {
show: func(what C.id) {
C.windowShow(what)
},
hide: func(what C.id) {
hide: func(what C.id) {
C.windowHide(what)
},
settext: func(what C.id, text C.id) {
settext: func(what C.id, text C.id) {
C.windowSetTitle(what, text)
},
text: func(what C.id, alternate bool) C.id {
text: func(what C.id, alternate bool) C.id {
return C.windowTitle(what)
},
},
c_button: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
c_button: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
button := C.makeButton()
C.buttonSetTargetAction(button, appDelegate)
applyStandardControlFont(button)
addControl(parentWindow, button)
return button
},
show: controlShow,
hide: controlHide,
settext: func(what C.id, text C.id) {
show: controlShow,
hide: controlHide,
settext: func(what C.id, text C.id) {
C.buttonSetText(what, text)
},
text: func(what C.id, alternate bool) C.id {
text: func(what C.id, alternate bool) C.id {
return C.buttonText(what)
},
},
c_checkbox: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
c_checkbox: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
checkbox := C.makeCheckbox()
applyStandardControlFont(checkbox)
addControl(parentWindow, checkbox)
return checkbox
},
show: controlShow,
hide: controlHide,
settext: func(what C.id, text C.id) {
show: controlShow,
hide: controlHide,
settext: func(what C.id, text C.id) {
C.buttonSetText(what, text)
},
text: func(what C.id, alternate bool) C.id {
text: func(what C.id, alternate bool) C.id {
return C.buttonText(what)
},
},
c_combobox: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
c_combobox: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
combobox := C.makeCombobox(toBOOL(alternate))
applyStandardControlFont(combobox)
addControl(parentWindow, combobox)
return combobox
},
show: controlShow,
hide: controlHide,
text: func(what C.id, alternate bool) C.id {
show: controlShow,
hide: controlHide,
text: func(what C.id, alternate bool) C.id {
return C.comboboxText(what, toBOOL(alternate))
},
append: func(id C.id, what string, alternate bool) {
append: func(id C.id, what string, alternate bool) {
C.comboboxAppend(id, toBOOL(alternate), toNSString(what))
},
insertBefore: func(id C.id, what string, before int, alternate bool) {
insertBefore: func(id C.id, what string, before int, alternate bool) {
C.comboboxInsertBefore(id, toBOOL(alternate),
toNSString(what), C.intptr_t(before))
},
selIndex: func(id C.id) int {
selIndex: func(id C.id) int {
return int(C.comboboxSelectedIndex(id))
},
delete: func(id C.id, index int) {
delete: func(id C.id, index int) {
C.comboboxDelete(id, C.intptr_t(index))
},
len: func(id C.id) int {
len: func(id C.id) int {
return int(C.comboboxLen(id))
},
},
c_lineedit: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
c_lineedit: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
lineedit := C.makeLineEdit(toBOOL(alternate))
applyStandardControlFont(lineedit)
addControl(parentWindow, lineedit)
return lineedit
},
show: controlShow,
hide: controlHide,
settext: func(what C.id, text C.id) {
show: controlShow,
hide: controlHide,
settext: func(what C.id, text C.id) {
C.lineeditSetText(what, text)
},
text: func(what C.id, alternate bool) C.id {
text: func(what C.id, alternate bool) C.id {
return C.lineeditText(what)
},
},
c_label: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
c_label: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
label := C.makeLabel()
applyStandardControlFont(label)
addControl(parentWindow, label)
return label
},
show: controlShow,
hide: controlHide,
settext: func(what C.id, text C.id) {
show: controlShow,
hide: controlHide,
settext: func(what C.id, text C.id) {
C.lineeditSetText(what, text)
},
text: func(what C.id, alternate bool) C.id {
text: func(what C.id, alternate bool) C.id {
return C.lineeditText(what)
},
},
c_listbox: &classData{
make: makeListbox,
show: controlShow,
hide: controlHide,
append: listboxAppend,
insertBefore: listboxInsertBefore,
selIndices: listboxSelectedIndices,
selTexts: listboxSelectedTexts,
delete: listboxDelete,
len: listboxLen,
c_listbox: &classData{
make: makeListbox,
show: controlShow,
hide: controlHide,
append: listboxAppend,
insertBefore: listboxInsertBefore,
selIndices: listboxSelectedIndices,
selTexts: listboxSelectedTexts,
delete: listboxDelete,
len: listboxLen,
},
c_progressbar: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
c_progressbar: &classData{
make: func(parentWindow C.id, alternate bool, s *sysData) C.id {
pbar := C.makeProgressBar()
addControl(parentWindow, pbar)
return pbar
},
show: controlShow,
hide: controlHide,
show: controlShow,
hide: controlHide,
},
c_area: &classData{
make: makeArea,
getinside: areaInScrollView,
show: controlShow,
hide: controlHide,
c_area: &classData{
make: makeArea,
getinside: areaInScrollView,
show: controlShow,
hide: controlHide,
},
}
// I need to access sysData from appDelegate, but appDelegate doesn't store any data. So, this.
var (
sysdatas = make(map[C.id]*sysData)
sysdatas = make(map[C.id]*sysData)
sysdatalock sync.Mutex
)
@ -282,7 +282,7 @@ func (s *sysData) setRect(x int, y int, width int, height int, winheight int) er
// winheight - y because (0,0) is the bottom-left corner of the window and not the top-left corner
// (winheight - y) - height because (x, y) is the bottom-left corner of the control and not the top-left
C.setRect(s.id,
C.intptr_t(x), C.intptr_t((winheight - y) - height),
C.intptr_t(x), C.intptr_t((winheight-y)-height),
C.intptr_t(width), C.intptr_t(height))
return nil
}

View File

@ -14,103 +14,103 @@ import "C"
type sysData struct {
cSysData
widget *C.GtkWidget
container *C.GtkWidget // for moving
pulse chan bool // for sysData.progressPulse()
clickCounter clickCounter // for Areas
widget *C.GtkWidget
container *C.GtkWidget // for moving
pulse chan bool // for sysData.progressPulse()
clickCounter clickCounter // for Areas
// we probably don't need to save these, but we'll do so for sysData.preferredSize() just in case
areawidth int
areaheight int
areawidth int
areaheight int
}
type classData struct {
make func() *C.GtkWidget
makeAlt func() *C.GtkWidget
setText func(widget *C.GtkWidget, text string)
text func(widget *C.GtkWidget) string
append func(widget *C.GtkWidget, text string)
insert func(widget *C.GtkWidget, index int, text string)
selected func(widget *C.GtkWidget) int
selMulti func(widget *C.GtkWidget) []int
smtexts func(widget *C.GtkWidget) []string
delete func(widget *C.GtkWidget, index int)
len func(widget *C.GtkWidget) int
make func() *C.GtkWidget
makeAlt func() *C.GtkWidget
setText func(widget *C.GtkWidget, text string)
text func(widget *C.GtkWidget) string
append func(widget *C.GtkWidget, text string)
insert func(widget *C.GtkWidget, index int, text string)
selected func(widget *C.GtkWidget) int
selMulti func(widget *C.GtkWidget) []int
smtexts func(widget *C.GtkWidget) []string
delete func(widget *C.GtkWidget, index int)
len func(widget *C.GtkWidget) int
// ...
signals callbackMap
child func(widget *C.GtkWidget) *C.GtkWidget
childsigs callbackMap
signals callbackMap
child func(widget *C.GtkWidget) *C.GtkWidget
childsigs callbackMap
}
var classTypes = [nctypes]*classData{
c_window: &classData{
make: gtk_window_new,
setText: gtk_window_set_title,
text: gtk_window_get_title,
signals: callbackMap{
"delete-event": window_delete_event_callback,
"configure-event": window_configure_event_callback,
c_window: &classData{
make: gtk_window_new,
setText: gtk_window_set_title,
text: gtk_window_get_title,
signals: callbackMap{
"delete-event": window_delete_event_callback,
"configure-event": window_configure_event_callback,
},
},
c_button: &classData{
make: gtk_button_new,
setText: gtk_button_set_label,
text: gtk_button_get_label,
signals: callbackMap{
"clicked": button_clicked_callback,
c_button: &classData{
make: gtk_button_new,
setText: gtk_button_set_label,
text: gtk_button_get_label,
signals: callbackMap{
"clicked": button_clicked_callback,
},
},
c_checkbox: &classData{
make: gtk_check_button_new,
setText: gtk_button_set_label,
text: gtk_button_get_label,
c_checkbox: &classData{
make: gtk_check_button_new,
setText: gtk_button_set_label,
text: gtk_button_get_label,
},
c_combobox: &classData{
make: gtk_combo_box_text_new,
makeAlt: gtk_combo_box_text_new_with_entry,
text: gtk_combo_box_text_get_active_text,
append: gtk_combo_box_text_append_text,
insert: gtk_combo_box_text_insert_text,
selected: gtk_combo_box_get_active,
delete: gtk_combo_box_text_remove,
len: gtkComboBoxLen,
c_combobox: &classData{
make: gtk_combo_box_text_new,
makeAlt: gtk_combo_box_text_new_with_entry,
text: gtk_combo_box_text_get_active_text,
append: gtk_combo_box_text_append_text,
insert: gtk_combo_box_text_insert_text,
selected: gtk_combo_box_get_active,
delete: gtk_combo_box_text_remove,
len: gtkComboBoxLen,
},
c_lineedit: &classData{
make: gtk_entry_new,
makeAlt: gtkPasswordEntryNew,
setText: gtk_entry_set_text,
text: gtk_entry_get_text,
c_lineedit: &classData{
make: gtk_entry_new,
makeAlt: gtkPasswordEntryNew,
setText: gtk_entry_set_text,
text: gtk_entry_get_text,
},
c_label: &classData{
make: gtk_label_new,
setText: gtk_label_set_text,
text: gtk_label_get_text,
c_label: &classData{
make: gtk_label_new,
setText: gtk_label_set_text,
text: gtk_label_get_text,
},
c_listbox: &classData{
make: gListboxNewSingle,
makeAlt: gListboxNewMulti,
text: gListboxText,
append: gListboxAppend,
insert: gListboxInsert,
selMulti: gListboxSelectedMulti,
smtexts: gListboxSelMultiTexts,
delete: gListboxDelete,
len: gListboxLen,
c_listbox: &classData{
make: gListboxNewSingle,
makeAlt: gListboxNewMulti,
text: gListboxText,
append: gListboxAppend,
insert: gListboxInsert,
selMulti: gListboxSelectedMulti,
smtexts: gListboxSelMultiTexts,
delete: gListboxDelete,
len: gListboxLen,
},
c_progressbar: &classData{
make: gtk_progress_bar_new,
c_progressbar: &classData{
make: gtk_progress_bar_new,
},
c_area: &classData{
make: gtkAreaNew,
child: gtkAreaGetControl,
childsigs: callbackMap{
"draw": area_draw_callback,
"button-press-event": area_button_press_event_callback,
"button-release-event": area_button_release_event_callback,
"motion-notify-event": area_motion_notify_event_callback,
"enter-notify-event": area_enterleave_notify_event_callback,
"leave-notify-event": area_enterleave_notify_event_callback,
"key-press-event": area_key_press_event_callback,
"key-release-event": area_key_release_event_callback,
c_area: &classData{
make: gtkAreaNew,
child: gtkAreaGetControl,
childsigs: callbackMap{
"draw": area_draw_callback,
"button-press-event": area_button_press_event_callback,
"button-release-event": area_button_release_event_callback,
"motion-notify-event": area_motion_notify_event_callback,
"enter-notify-event": area_enterleave_notify_event_callback,
"leave-notify-event": area_enterleave_notify_event_callback,
"key-press-event": area_key_press_event_callback,
"key-release-event": area_key_release_event_callback,
},
},
}
@ -311,14 +311,14 @@ func (s *sysData) progressPulse() {
if start {
ticker = time.NewTicker(pulseRate)
tickchan = ticker.C
pulse() // start the pulse animation now, not 100ms later
pulse() // start the pulse animation now, not 100ms later
} else {
if ticker != nil {
ticker.Stop()
}
ticker = nil
tickchan = nil
s.pulse <- true // notify sysData.setProgress()
s.pulse <- true // notify sysData.setProgress()
}
case <-tickchan:
pulse()
@ -336,7 +336,7 @@ func (s *sysData) setProgress(percent int) {
return
}
s.pulse <- false
<-s.pulse // wait for sysData.progressPulse() to register that
<-s.pulse // wait for sysData.progressPulse() to register that
ret := make(chan struct{})
defer close(ret)
uitask <- func() {
@ -361,7 +361,7 @@ func (s *sysData) setAreaSize(width int, height int) {
uitask <- func() {
c := gtkAreaGetControl(s.widget)
gtk_widget_set_size_request(c, width, height)
s.areawidth = width // for sysData.preferredSize()
s.areawidth = width // for sysData.preferredSize()
s.areaheight = height
C.gtk_widget_queue_draw(c)
ret <- struct{}{}