mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-02 03:02:31 +00:00
Merge branch 'master' of github.com:Araq/Nimrod
This commit is contained in:
@@ -40,15 +40,7 @@ proc addForwardedProc(m: BModule, prc: PSym) =
|
||||
|
||||
proc findPendingModule(m: BModule, s: PSym): BModule =
|
||||
var ms = getModule(s)
|
||||
if ms.id == m.module.id: return m
|
||||
for i in countup(0, high(gModules)):
|
||||
result = gModules[i]
|
||||
if result.module.id == ms.id: return
|
||||
# else we found no pending module: This can happen for procs that are in
|
||||
# a module that is already closed. This is fine, don't generate code for
|
||||
# it then:
|
||||
result = nil
|
||||
#InternalError(s.info, "no pending module found for: " & s.name.s)
|
||||
result = gModules[ms.position]
|
||||
|
||||
proc emitLazily(s: PSym): bool {.inline.} =
|
||||
result = optDeadCodeElim in gGlobalOptions or
|
||||
@@ -1139,6 +1131,11 @@ proc writeModule(m: BModule, pending: bool) =
|
||||
addFileToCompile(cfilenoext)
|
||||
addFileToLink(cfilenoext)
|
||||
|
||||
proc genPlatformAsserts(m: BModule) =
|
||||
appf(m.s[cfsForwardTypes],
|
||||
"typedef assert_numbits[sizeof(NI) == sizeof(void*) &&" &
|
||||
"NIM_INTBITS == sizeof(NI)*8 ? 1 : -1];$N")
|
||||
|
||||
proc myClose(b: PPassContext, n: PNode): PNode =
|
||||
result = n
|
||||
if b == nil or passes.skipCodegen(n): return
|
||||
@@ -1152,6 +1149,7 @@ proc myClose(b: PPassContext, n: PNode): PNode =
|
||||
if sfMainModule in m.module.flags:
|
||||
var disp = generateMethodDispatchers()
|
||||
for i in 0..sonsLen(disp)-1: genProcAux(m, disp.sons[i].sym)
|
||||
genPlatformAsserts(m)
|
||||
genMainProc(m)
|
||||
# we need to process the transitive closure because recursive module
|
||||
# deps are allowed (and the system module is processed in the wrong
|
||||
|
||||
@@ -16914,6 +16914,128 @@ proc set_visible_window*(evBox: PEventBox, v: gboolean){.cdecl, dynlib: lib,
|
||||
proc get_vadjustment*(scrolled_window: PTextView): PAdjustment{.
|
||||
cdecl, dynlib: lib, importc: "gtk_text_view_get_vadjustment".}
|
||||
|
||||
type
|
||||
TInfoBar* = object of THBox
|
||||
PInfoBar* = ptr TInfoBar
|
||||
|
||||
proc info_bar_new*(): PInfoBar{.cdecl, dynlib: lib, importc: "gtk_info_bar_new".}
|
||||
proc info_bar_new_with_buttons*(first_button_text: cstring): PInfoBar {.cdecl, dynlib:lib,
|
||||
varargs, importc: "gtk_info_bar_new_with_buttons".}
|
||||
proc add_action_widget*(infobar: PInfoBar, child: PWidget, respID: gint) {.
|
||||
cdecl, dynlib: lib, importc: "gtk_info_bar_add_action_widget".}
|
||||
proc add_button*(infobar: PInfoBar, btnText: cstring, respID: gint): PWidget{.
|
||||
cdecl, dynlib: lib, importc: "gtk_info_bar_add_button".}
|
||||
proc set_response_sensitive*(infobar: PInfoBar, respID: gint, setting: gboolean){.
|
||||
cdecl, dynlib: lib, importc: "gtk_info_bar_set_response_sensitive".}
|
||||
proc set_default_response*(infobar: PInfoBar, respID: gint){.cdecl,
|
||||
dynlib: lib, importc: "gtk_info_bar_set_default_response".}
|
||||
proc response*(infobar: PInfoBar, respID: gint){.cdecl, dynlib: lib,
|
||||
importc: "gtk_info_bar_response".}
|
||||
proc set_message_type*(infobar: PInfoBar, messageType: TMessageType){.cdecl,
|
||||
dynlib: lib, importc: "gtk_info_bar_set_message_type".}
|
||||
proc get_message_type*(infobar: PInfoBar): TMessageType{.cdecl, dynlib: lib,
|
||||
importc: "gtk_info_bar_get_message_type".}
|
||||
proc get_action_area*(infobar: PInfoBar): PWidget{.cdecl, dynlib: lib,
|
||||
importc: "gtk_info_bar_get_action_area".}
|
||||
proc get_content_area*(infobar: PInfoBar): PContainer{.cdecl, dynlib: lib,
|
||||
importc: "gtk_info_bar_get_content_area".}
|
||||
|
||||
type
|
||||
TComboBox* = object of TWidget
|
||||
PComboBox* = ptr TComboBox
|
||||
|
||||
proc comboBoxNew*(): PComboBox{.cdecl, importc: "gtk_combo_box_new", dynlib: lib.}
|
||||
proc comboBox_new_with_entry*(): PComboBox{.cdecl,
|
||||
importc: "gtk_combo_box_new_with_entry",
|
||||
dynlib: lib.}
|
||||
proc comboBox_new_with_model*(model: PTreeModel): PComboBox{.cdecl,
|
||||
importc: "gtk_combo_box_new_with_model", dynlib: lib.}
|
||||
proc comboBox_new_with_model_and_entry*(model: PTreeModel): PComboBox{.cdecl,
|
||||
importc: "gtk_combo_box_new_with_model_and_entry", dynlib: lib.}
|
||||
|
||||
proc get_wrap_width*(combo_box: PComboBox): gint{.cdecl,
|
||||
importc: "gtk_combo_box_get_wrap_width", dynlib: lib.}
|
||||
proc set_wrap_width*(combo_box: PComboBox; width: gint){.cdecl,
|
||||
importc: "gtk_combo_box_set_wrap_width", dynlib: lib.}
|
||||
proc get_row_span_column*(combo_box: PComboBox): gint{.cdecl,
|
||||
importc: "gtk_combo_box_get_row_span_column", dynlib: lib.}
|
||||
proc set_row_span_column*(combo_box: PComboBox; row_span: gint){.cdecl,
|
||||
importc: "gtk_combo_box_set_row_span_column", dynlib: lib.}
|
||||
proc get_column_span_column*(combo_box: PComboBox): gint{.cdecl,
|
||||
importc: "gtk_combo_box_get_column_span_column", dynlib: lib.}
|
||||
proc set_column_span_column*(combo_box: PComboBox; column_span: gint){.
|
||||
cdecl, importc: "gtk_combo_box_set_column_span_column", dynlib: lib.}
|
||||
proc get_add_tearoffs*(combo_box: PComboBox): gboolean{.cdecl,
|
||||
importc: "gtk_combo_box_get_add_tearoffs", dynlib: lib.}
|
||||
proc set_add_tearoffs*(combo_box: PComboBox; add_tearoffs: gboolean){.
|
||||
cdecl, importc: "gtk_combo_box_set_add_tearoffs", dynlib: lib.}
|
||||
proc get_title*(combo_box: PComboBox): ptr gchar{.cdecl,
|
||||
importc: "gtk_combo_box_get_title", dynlib: lib.}
|
||||
proc set_title*(combo_box: PComboBox; title: ptr gchar){.cdecl,
|
||||
importc: "gtk_combo_box_set_title", dynlib: lib.}
|
||||
proc get_focus_on_click*(combo: PComboBox): gboolean{.cdecl,
|
||||
importc: "gtk_combo_box_get_focus_on_click", dynlib: lib.}
|
||||
proc set_focus_on_click*(combo: PComboBox; focus_on_click: gboolean){.
|
||||
cdecl, importc: "gtk_combo_box_set_focus_on_click", dynlib: lib.}
|
||||
|
||||
proc get_active*(combo_box: PComboBox): gint{.cdecl,
|
||||
importc: "gtk_combo_box_get_active", dynlib: lib.}
|
||||
proc set_active*(combo_box: PComboBox; index: gint){.cdecl,
|
||||
importc: "gtk_combo_box_set_active", dynlib: lib.}
|
||||
proc get_active_iter*(combo_box: PComboBox; iter: PTreeIter): gboolean{.
|
||||
cdecl, importc: "gtk_combo_box_get_active_iter", dynlib: lib.}
|
||||
proc set_active_iter*(combo_box: PComboBox; iter: PTreeIter){.cdecl,
|
||||
importc: "gtk_combo_box_set_active_iter", dynlib: lib.}
|
||||
|
||||
proc set_model*(combo_box: PComboBox; model: PTreeModel){.cdecl,
|
||||
importc: "gtk_combo_box_set_model", dynlib: lib.}
|
||||
proc get_model*(combo_box: PComboBox): PTreeModel{.cdecl,
|
||||
importc: "gtk_combo_box_get_model", dynlib: lib.}
|
||||
discard """proc get_row_separator_func*(combo_box: PComboBox): GtkTreeViewRowSeparatorFunc{.
|
||||
cdecl, importc: "gtk_combo_box_get_row_separator_func", dynlib: lib.}
|
||||
proc set_row_separator_func*(combo_box: PComboBox;
|
||||
func: GtkTreeViewRowSeparatorFunc; data: gpointer;
|
||||
destroy: GDestroyNotify){.cdecl,
|
||||
importc: "gtk_combo_box_set_row_separator_func", dynlib: lib.}"""
|
||||
discard """proc set_button_sensitivity*(combo_box: PComboBox;
|
||||
sensitivity: GtkSensitivityType){.cdecl,
|
||||
importc: "gtk_combo_box_set_button_sensitivity", dynlib: lib.}
|
||||
proc get_button_sensitivity*(combo_box: PComboBox): GtkSensitivityType{.
|
||||
cdecl, importc: "gtk_combo_box_get_button_sensitivity", dynlib: lib.}"""
|
||||
proc get_has_entry*(combo_box: PComboBox): gboolean{.cdecl,
|
||||
importc: "gtk_combo_box_get_has_entry", dynlib: lib.}
|
||||
proc set_entry_text_column*(combo_box: PComboBox; text_column: gint){.
|
||||
cdecl, importc: "gtk_combo_box_set_entry_text_column", dynlib: lib.}
|
||||
proc get_entry_text_column*(combo_box: PComboBox): gint{.cdecl,
|
||||
importc: "gtk_combo_box_get_entry_text_column", dynlib: lib.}
|
||||
|
||||
proc popup*(combo_box: PComboBox){.cdecl, importc: "gtk_combo_box_popup",
|
||||
dynlib: lib.}
|
||||
proc popdown*(combo_box: PComboBox){.cdecl,
|
||||
importc: "gtk_combo_box_popdown", dynlib: lib.}
|
||||
discard """proc get_popup_accessible*(combo_box: PComboBox): ptr AtkObject{.cdecl,
|
||||
importc: "gtk_combo_box_get_popup_accessible", dynlib: lib.}"""
|
||||
|
||||
type
|
||||
TComboBoxText* = object of TComboBox
|
||||
PComboBoxText* = ptr TComboBoxText
|
||||
|
||||
proc combo_box_text_new*(): PComboBoxText{.cdecl, importc: "gtk_combo_box_text_new",
|
||||
dynlib: lib.}
|
||||
proc combo_box_text_new_with_entry*(): PComboBoxText{.cdecl,
|
||||
importc: "gtk_combo_box_text_new_with_entry", dynlib: lib.}
|
||||
proc append_text*(combo_box: PComboBoxText; text: cstring){.cdecl,
|
||||
importc: "gtk_combo_box_text_append_text", dynlib: lib.}
|
||||
proc insert_text*(combo_box: PComboBoxText; position: gint;
|
||||
text: cstring){.cdecl,
|
||||
importc: "gtk_combo_box_text_insert_text", dynlib: lib.}
|
||||
proc prepend_text*(combo_box: PComboBoxText; text: cstring){.cdecl,
|
||||
importc: "gtk_combo_box_text_prepend_text", dynlib: lib.}
|
||||
proc remove*(combo_box: PComboBoxText; position: gint){.cdecl,
|
||||
importc: "gtk_combo_box_text_remove", dynlib: lib.}
|
||||
proc get_active_text*(combo_box: PComboBoxText): cstring{.cdecl,
|
||||
importc: "gtk_combo_box_text_get_active_text", dynlib: lib.}
|
||||
|
||||
proc nimrod_init*() =
|
||||
var
|
||||
cmdLine{.importc: "cmdLine".}: array[0..255, cstring]
|
||||
|
||||
Reference in New Issue
Block a user