Changeset 3515287dcd5e186be189d26efb988e2f38d4df28

Show
Ignore:
Timestamp:
01/06/07 23:41:09 (6 years ago)
Author:
Philipp Kern <phil@…>
Parents:
4d53ec2a077c29b37de3044514e5d2edd3c0a4a4
Children:
4d4c20e5237e5e5c8b93d8e01d2b1e2d769c2dbb
git-committer:
Philipp Kern <phil@0x539.de> / 2007-01-06T22:41:09Z+0000
Message:

[project @ Gtk::manage dynamically allocated widgets]

Original author: Armin Burgmeier <armin@…>
Date: 2005-07-20 17:07:58+00:00

Location:
src
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • src/document.cpp

    r9c8b808 r3515287  
    4040        set_show_line_numbers(true); 
    4141        Glib::RefPtr<Gtk::SourceBuffer> buf = get_buffer(); 
     42        // Prevent from GTK sourceview's undo  
     43        buf->begin_not_undoable_action(); 
    4244#else 
    4345        Glib::RefPtr<Gtk::TextBuffer> buf = get_buffer(); 
  • src/folder.cpp

    r5638308 r3515287  
    4747} 
    4848 
     49Gobby::Folder::TabLabel::close_signal_type 
     50Gobby::Folder::TabLabel::close_event()  
     51{ 
     52        return m_button.signal_clicked(); 
     53} 
     54 
    4955Gobby::Folder::Folder() 
    5056 : Gtk::Notebook(), m_running(false) 
     
    5763Gobby::Folder::~Folder() 
    5864{ 
    59         // Delete documents 
    60         for(int i = 0; i < get_n_pages(); ++ i) 
    61         { 
    62                 delete get_tab_label(*get_nth_page(i) ); 
    63                 delete get_nth_page(i); 
    64         } 
    65 } 
    66  
    67 Gobby::Folder::TabLabel::close_signal_type 
    68 Gobby::Folder::TabLabel::close_event()  
    69 { 
    70         return m_button.signal_clicked(); 
    7165} 
    7266 
     
    8680void Gobby::Folder::obby_start(obby::local_buffer& buf) 
    8781{ 
    88         // Remove existing pages 
    8982        while(get_n_pages() ) 
    90         { 
    91                 delete get_nth_page(0); 
    9283                remove_page(0); 
    93         } 
    9484 
    9585        set_sensitive(true); 
     
    126116{ 
    127117        // Create new document 
    128         DocWindow* new_wnd = new DocWindow(document, *this); 
     118        DocWindow* new_wnd = Gtk::manage(new DocWindow(document, *this) ); 
    129119        Document& new_doc = new_wnd->get_document(); 
    130120 
     
    161151 
    162152        // Create label for the tab 
    163         TabLabel* label = new TabLabel(document.get_title() ); 
     153        TabLabel* label = Gtk::manage(new TabLabel(document.get_title() )); 
    164154 
    165155        // Connect close event 
     
    191181                        // Remove page 
    192182                        remove_page(*doc); 
    193  
    194                         // Delete tab label assigned to the document 
    195                         delete get_tab_label(*doc); 
    196  
    197                         // Delete document itself 
    198                         delete doc; 
    199  
    200183                        break; 
    201184                } 
  • src/window.cpp

    r5638308 r3515287  
    582582                // or something: Just remove the document from the folder. 
    583583                m_folder.remove_page(document); 
    584                 delete m_folder.get_tab_label(document); 
    585                 delete &document; 
    586584 
    587585                // If there are no more documents, disable