X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=gtk%2Fgtk.entry.lisp;h=c4362aed040aaee94f91850534977ca7f45e5e6b;hb=e8e2d1cad48f9b6f1d607651f93cc51387c60216;hp=dcd7e8d7ff160a8cacc8a132731c6ae6f75a31b5;hpb=0d03b82a77743d2ea5ef69bea08735fa12857d92;p=cl-gtk2.git diff --git a/gtk/gtk.entry.lisp b/gtk/gtk.entry.lisp index dcd7e8d..c4362ae 100644 --- a/gtk/gtk.entry.lisp +++ b/gtk/gtk.entry.lisp @@ -2,57 +2,39 @@ ;; GtkEntry -(defcfun (entry-layout "gtk_entry_get_layout") g-object ;;PangoLayout - (entry (g-object entry))) - -(export 'entry-layout) - (defcfun gtk-entry-get-layout-offsets :void (entry (g-object entry)) (x (:pointer :int)) (y (:pointer :int))) -(defun entry-layout-offset (entry) +(defun gtk-entry-layout-offset (entry) (with-foreign-objects ((x :int) (y :int)) (gtk-entry-get-layout-offsets entry x y) - (values (mem-ref x :int) (mem-ref y :int)))) - -(export 'entry-layout-offset) + (list (mem-ref x :int) (mem-ref y :int)))) (defcfun (entry-layout-index-to-text-index "gtk_entry_layout_index_to_text_index") :int (entry (g-object entry)) (layout-index :int)) +(export 'entry-layout-index-to-text-index) + (defcfun (entry-text-index-to-layout-index "gtk_entry_text_index_to_layout_index") :int (entry (g-object entry)) (text-index :int)) -(defcfun gtk-entry-set-completion :void - (entry (g-object entry)) - (completion (g-object entry-completion))) +(export 'entry-text-index-to-layout-info) -(defcfun gtk-entry-get-completion (g-object entry-completion) - (entry (g-object entry))) - -(defun entry-completion (entry) - (gtk-entry-get-completion entry)) - -(defun (setf entry-completion) (completion entry) - (gtk-entry-set-completion entry completion)) - -(export 'entry-completion) - -(defcfun gtk-entry-set-cursor-hadjustment :void +(defcfun (entry-icon-at-pos "gtk_entry_get_icon_at_pos") :int (entry (g-object entry)) - (adjustment (g-object adjustment))) + (x :int) + (y :int)) -(defcfun (entry-cursor-hadjustment "gtk_entry_get_cursor_hadjustment") (g-object adjustment) - (entry (g-object entry))) +(export 'entry-icon-at-pos) -(defun (setf entry-cursor-hadjustment) (adjustment entry) - (gtk-entry-set-cursor-hadjustment entry adjustment)) +(defcfun (entry-progress-pulse "gtk_entry_progress_pulse") :void + (entry (g-object entry))) -(export 'entry-cursor-hadjustment) +(export 'entry-progress-pulse) ;; GtkEditable @@ -104,7 +86,7 @@ (start-pos :int) (end-pos :int)) -(defun editable-get-chars (editable &key (start -1) (end -1)) +(defun editable-get-chars (editable &key (start 0) (end -1)) (gtk-editable-get-chars editable start end)) (export 'editable-get-chars) @@ -129,26 +111,61 @@ (export 'editable-delete-selection) -(defcfun (editable-position "gtk_editable_get_position") :int - (editable (g-object editable))) +;; GtkEntryCompletion + +(define-cb-methods entry-completion-match-func :boolean + ((completion (g-object entry-completion)) + (key :string) + (iter (g-boxed-foreign tree-iter)))) + +(defcfun (%gtk-entry-completion-set-match-func "gtk_entry_completion_set_match_func") :void + (completion (g-object entry-completion)) + (func :pointer) + (data :pointer) + (destroy-notify :pointer)) + +(defun gtk-entry-completion-set-match-func (completion function) + (if function + (%gtk-entry-completion-set-match-func completion + (callback entry-completion-match-func-cb) + (create-fn-ref completion function) + (callback entry-completion-match-func-destroy-notify)) + (%gtk-entry-completion-set-match-func completion + (null-pointer) + (null-pointer) + (null-pointer)))) + +(defcfun (entry-completion-complete "gtk_entry_completion_complete") :void + (completion (g-object entry-completion))) -(defcfun gtk-editable-set-position :void - (editable (g-object editable)) - (pos :int)) +(export 'entry-completion-complete) -(defun (setf editable-position) (position editable) - (gtk-editable-set-position editable position)) +(defcfun (entry-completion-completion-prefix "gtk_entry_completion_get_completion_prefix") (:string :free-from-foreign t) + (completion (g-object entry-completion))) -(export 'editable-position) +(export 'entry-completion-completion-prefix) -(defcfun (editable-editable "gtk_editable_get_editable") :boolean - (editable (g-object editable))) +(defcfun (entry-completion-insert-prefix "gtk_entry_completion_insert_prefix") :void + (completion (g-object entry-completion))) -(defcfun gtk-editable-set-editable :void - (editable (g-object editable)) - (is-editable :boolean)) +(export 'entry-completion-completion-prefix) + +(defcfun (entry-completion-insert-action-text "gtk_entry_completion_insert_action_text") :void + (completion (g-object entry-completion)) + (index :int) + (text :string)) + +(export 'entry-completion-insert-action-text) + +(defcfun (entry-copmletion-insert-action-markup "gtk_entry_completion_insert_action_markup") :void + (completion (g-object entry-completion)) + (index :int) + (markup :string)) + +(export 'entry-completion-insert-action-markup) -(defun (setf editable-editable) (is-editable editable) - (gtk-editable-set-editable editable is-editable)) +(defcfun (entry-completion-delete-action "gtk_entry_completion_delete_action") :void + (completion (g-object entry-completion)) + (index :int)) -(export 'editable-editable) \ No newline at end of file +(export 'entry-completion-delete-action)