diff options
Diffstat (limited to 'ide/nimide.nim')
-rw-r--r-- | ide/nimide.nim | 146 |
1 files changed, 73 insertions, 73 deletions
diff --git a/ide/nimide.nim b/ide/nimide.nim index 671405bbc..741f71afb 100644 --- a/ide/nimide.nim +++ b/ide/nimide.nim @@ -26,14 +26,14 @@ type currTab: int PEditor = ptr TEditor -proc on_window_destroy(obj: PGtkObject, event: PGdkEvent, - data: pointer): gboolean {.cdecl.} = - gtk_main_quit() +proc onWindowDestroy(obj: PGtkObject, event: PGdkEvent, + data: pointer): gboolean {.cdecl.} = + gtkMainQuit() -proc on_about_menu_item_activate(menuItem: PGtkMenuItem, e: PEditor) {.cdecl.} = - gtk_show_about_dialog(e.window, +proc onAboutMenuItemActivate(menuItem: PGtkMenuItem, e: PEditor) {.cdecl.} = + gtkShowAboutDialog(e.window, "comments", "A fast and leight-weight IDE for Nimrod", - "copyright", "Copyright \xc2\xa9 2008 Andreas Rumpf", + "copyright", "Copyright \xc2\xa9 2009 Andreas Rumpf", "version", "0.1", "website", "http://nimrod.ethexor.com", "program-name", "Nimrod IDE", @@ -42,9 +42,9 @@ proc on_about_menu_item_activate(menuItem: PGtkMenuItem, e: PEditor) {.cdecl.} = proc getTabIndex(e: PEditor, tab: PTab): int = var i = 0 while true: - var w = gtk_notebook_get_nth_page(e.notebook, i) + var w = gtkNotebookGetNthPage(e.notebook, i) if w == nil: return -1 - var v = gtk_notebook_get_tab_label(e.notebook, w) + var v = gtkNotebookGetTabLabel(e.notebook, w) if tab.hbox == v: return i inc(i) @@ -56,12 +56,11 @@ type answerYes, answerNo, answerCancel proc askWhetherToSave(e: PEditor): TAnswer = - var dialog = gtk_dialog_new_with_buttons("Should the changes be saved?", - e.window, GTK_DIALOG_MODAL, GTK_STOCK_SAVE, 1, - "gtk-discard", 2, - GTK_STOCK_CANCEL, 3, nil) - result = TAnswer(gtk_dialog_run(dialog)+1) - gtk_widget_destroy(dialog) + var dialog = gtkDialogNewWithButtons("Should the changes be saved?", + e.window, GTK_DIALOG_MODAL, GTK_STOCK_SAVE, 1, "gtk-discard", 2, + GTK_STOCK_CANCEL, 3, nil) + result = TAnswer(gtkDialogRun(dialog)+1) + gtkWidgetDestroy(dialog) proc saveTab(tab: PTab) = if tab.untitled: @@ -76,13 +75,13 @@ proc OnCloseTab(button: PGtkButton, tab: PTab) {.cdecl.} = idx = i break if idx >= 0: - if gtk_text_buffer_get_modified(gtk_text_view_get_buffer(tab.textView)): + if gtkTextBufferGetModified(gtkTextViewGetBuffer(tab.textView)): case askWhetherToSave(tab.e) of answerCancel: return of answerYes: saveTab(tab) of answerNo: nil - gtk_notebook_remove_page(tab.e.notebook, idx) + gtkNotebookRemovePage(tab.e.notebook, idx) if idx < high(tab.e.tabs): for i in idx..high(tab.e.tabs)-1: tab.e.tabs[i] = tab.e.tabs[i+1] @@ -95,95 +94,96 @@ proc OnCloseTab(button: PGtkButton, tab: PTab) {.cdecl.} = proc createTab(e: PEditor, filename: string, untitled: bool) = var t = cast[PTab](alloc0(sizeof(TTab))) - t.textview = gtk_text_view_new_with_buffer(gtk_text_buffer_new(nil)) - var font_desc = pango_font_description_from_string("monospace 10") - gtk_widget_modify_font(t.textview, font_desc) - pango_font_description_free(font_desc) + t.textview = gtkTextViewNewWithBuffer(gtkTextBufferNew(nil)) + var fontDesc = pangoFontDescriptionFromString("monospace 10") + gtkWidgetModifyFont(t.textview, fontDesc) + pangoFontDescriptionFree(fontDesc) t.filename = filename t.untitled = untitled - gtk_widget_show(t.textview) - var scroll = gtk_scrolled_window_new(nil, nil) - gtk_container_add(scroll, t.textview) - gtk_widget_show(scroll) + gtkWidgetShow(t.textview) + var scroll = gtkScrolledWindowNew(nil, nil) + gtkContainerAdd(scroll, t.textview) + gtkWidgetShow(scroll) t.e = e - t.hbox = gtk_hbox_new(false, 0) - var image = gtk_image_new_from_stock(GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU) - var button = gtk_button_new() - var lab = gtk_label_new(filename) - gtk_button_set_image(button, image) - gtk_button_set_relief(button, GTK_RELIEF_NONE) - gtk_box_pack_start(t.hbox, lab, false, false, 2) - gtk_box_pack_end(t.hbox, button, false, false, 0) + t.hbox = gtkHboxNew(false, 0) + var image = gtkImageNewFromStock(GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU) + var button = gtkButtonNew() + var lab = gtkLabelNew(filename) + gtkButtonSetImage(button, image) + gtkButtonSetRelief(button, GTK_RELIEF_NONE) + gtkBoxPackStart(t.hbox, lab, false, false, 2) + gtkBoxPackEnd(t.hbox, button, false, false, 0) - discard g_signal_connect(button, "clicked", G_Callback(onCloseTab), t) - gtk_widget_show(button) - gtk_widget_show(lab) + discard gSignalConnect(button, "clicked", G_Callback(onCloseTab), t) + gtkWidgetShow(button) + gtkWidgetShow(lab) - var idx = gtk_notebook_append_page(e.notebook, scroll, t.hbox) + var idx = gtkNotebookAppendPage(e.notebook, scroll, t.hbox) e.currTab = idx add(e.tabs, t) - gtk_notebook_set_current_page(e.notebook, idx) + gtkNotebookSetCurrentPage(e.notebook, idx) -proc on_open_menu_item_activate(menuItem: PGtkMenuItem, e: PEditor) {.cdecl.} = +proc onOpenMenuItemActivate(menuItem: PGtkMenuItem, e: PEditor) {.cdecl.} = var files = ChooseFilesToOpen(e.window, getRoot(getActiveTab(e))) for f in items(files): createTab(e, f, untitled=false) -proc on_save_menu_item_activate(menuItem: PGtkMenuItem, e: PEditor) {.cdecl.} = - var cp = gtk_notebook_get_current_page(e.notebook) +proc onSaveMenuItemActivate(menuItem: PGtkMenuItem, e: PEditor) {.cdecl.} = + var cp = gtkNotebookGetCurrentPage(e.notebook) -proc on_save_as_menu_item_activate(menuItem: PGtkMenuItem, e: PEditor) {.cdecl.} = +proc onSaveAsMenuItemActivate(menuItem: PGtkMenuItem, e: PEditor) {.cdecl.} = nil -proc on_new_menu_item_activate(menuItem: PGtkMenuItem, e: PEditor) {.cdecl.} = +proc onNewMenuItemActivate(menuItem: PGtkMenuItem, e: PEditor) {.cdecl.} = inc(e.tabname) createTab(e, "untitled-" & $e.tabname, true) proc main(e: PEditor) = - var builder = glade_xml_new(getApplicationDir() / GuiTemplate, nil, nil) + var builder = gladeXmlNew(getApplicationDir() / GuiTemplate, nil, nil) if builder == nil: quit("cannot open: " & GuiTemplate) # get the components: - e.window = GTK_WINDOW(glade_xml_get_widget(builder, "window")) - e.statusbar = GTK_STATUSBAR(glade_xml_get_widget(builder, "statusbar")) - e.notebook = GTK_NOTEBOOK(glade_xml_get_widget(builder, "notebook")) + e.window = GTK_WINDOW(gladeXmlGetWidget(builder, "window")) + e.statusbar = GTK_STATUSBAR(gladeXmlGetWidget(builder, "statusbar")) + e.notebook = GTK_NOTEBOOK(gladeXmlGetWidget(builder, "notebook")) e.tabs = @[] e.currTab = -1 setHomogeneous(e.notebook^, 1) # connect the signal handlers: - glade_xml_signal_connect(builder, "on_window_destroy", - GCallback(on_window_destroy)) - var about = GTK_MENU_ITEM(glade_xml_get_widget(builder, "about_menu_item")) - discard g_signal_connect(about, "activate", - G_CALLBACK(on_about_menu_item_activate), e) - - var newItem = GTK_MENU_ITEM(glade_xml_get_widget(builder, "new_menu_item")) - discard g_signal_connect(newItem, "activate", - G_CALLBACK(on_new_menu_item_activate), e) - - var quitItem = GTK_MENU_ITEM(glade_xml_get_widget(builder, "quit_menu_item")) - discard g_signal_connect(quitItem, "activate", - G_CALLBACK(on_window_destroy), e) - - var openItem = GTK_MENU_ITEM(glade_xml_get_widget(builder, "open_menu_item")) - discard g_signal_connect(openItem, "activate", - G_CALLBACK(on_open_menu_item_activate), e) + gladeXmlSignalConnect(builder, "on_window_destroy", + GCallback(onWindowDestroy)) + var about = GTK_MENU_ITEM(gladeXmlGetWidget(builder, "about_menu_item")) + discard gSignalConnect(about, "activate", + G_CALLBACK(onAboutMenuItemActivate), e) + + var newItem = GTK_MENU_ITEM(gladeXmlGetWidget(builder, "new_menu_item")) + discard gSignalConnect(newItem, "activate", + G_CALLBACK(onNewMenuItemActivate), e) + + var quitItem = GTK_MENU_ITEM(gladeXmlGetWidget(builder, "quit_menu_item")) + discard gSignalConnect(quitItem, "activate", + G_CALLBACK(onWindowDestroy), e) + + var openItem = GTK_MENU_ITEM(gladeXmlGetWidget(builder, "open_menu_item")) + discard gSignalConnect(openItem, "activate", + G_CALLBACK(onOpenMenuItemActivate), e) - var saveItem = GTK_MENU_ITEM(glade_xml_get_widget(builder, "save_menu_item")) - discard g_signal_connect(saveItem, "activate", - G_CALLBACK(on_save_menu_item_activate), e) + var saveItem = GTK_MENU_ITEM(gladeXmlGetWidget(builder, "save_menu_item")) + discard gSignalConnect(saveItem, "activate", + G_CALLBACK(onSaveMenuItemActivate), e) - var saveAsItem = GTK_MENU_ITEM(glade_xml_get_widget(builder, "save_as_menu_item")) - discard g_signal_connect(saveAsItem, "activate", - G_CALLBACK(on_save_as_menu_item_activate), e) + var saveAsItem = GTK_MENU_ITEM(gladeXmlGetWidget(builder, "save_as_menu_item")) + discard gSignalConnect(saveAsItem, "activate", + G_CALLBACK(onSaveAsMenuItemActivate), e) - gtk_window_set_default_icon_name(GTK_STOCK_EDIT) - gtk_widget_show(e.window) - gtk_main() + gtkWindowSetDefaultIconName(GTK_STOCK_EDIT) + gtkWidgetShow(e.window) + gtkMain() -gtk_nimrod_init() +gtkNimrodInit() var e = cast[PEditor](alloc0(sizeof(TEditor))) main(e) + |