2011-08-09 4 views
2

나는 최근에 3.0 gtkmm을 통해 변경 될 때까지 잘 근무하고있다 gtkmm 2.4을 사용하는 응용 프로그램이 있습니다. 나는 g ++ (버전 4.6.1)에 문제가 있습니다. "오류 : '클래스 Gtk :: TextView'에 'modify_font'라는 멤버가 없습니다. 내 빌드를 gtkmm 2.4로 되 돌리는 경우에는 되돌릴 수 없습니다 (pkg-config gtkmm-3.0 --cflags --libs을 gtkmm-2.4로 다시 변경). 문제 :: modify_font GTKMM 2.4에서 이동 GTK3.0하는

는 내가 다시 (코드 :: 블록 내에서) 헤더를 다음과 함수 헤더는 확실히있다. 그것은 Gtk :: Widget :: modify_font가 감가 상각 된 것처럼 보이지 않습니다.

내 클래스 계층 구조가은 Gtk :: 텍스트 뷰에 관련하여 어떻게 생겼는지의 예 :

// The parent of the offending TextView 
class popupWindow : public Gtk::Window 
{ 
public: 
    popupWindow(); 
private: 
    Gtk::TextView theView; 
    Gtk::ScrolledWindow scrollView; 
    Gtk::VBox layoutBox; 
    Glib::RefPtr<Gtk::TextBuffer> textBuffer; 
}; 

// The main window class 
class mainWindow : public Gtk::Window 
{ 
private: 
    popupWindow foo; 
}; 

// Part of the header where I try and set the modified font 
popupWindow::popupwindow() : layoutBox(false, 8) 
{ 
    // Modify the font styling of the TextView 
    { 
    Pango::FontDescription fdesc; 
    fdesc.set_family("monospace"); 
    fdesc.set_size(10 * PANGO_SCALE); 
    theView.modify_font(fdesc); 
    } 

    // Make a new text buffer 
    textBuffer = Gtk::TextBuffer::create(); 


    add(layoutBox); 
    layoutBox.pack_start(scrollView); 
    scrollView.add(theView); 
    theView.set_buffer(textBuffer); 
} 

답변

2

gtkmm 3.0 has override_font() 대신 modify_font().

문서는 실제로 어느 정도 3.0에서 변경된 내용의 세부 사항에 부족하고, 일부 기호는 2.4에서 더 이상 사용되지 않고 이름이 변경되었다. gtkmm 개발자가 도움을 줄 수있는 시간이 있다면 더 나은 모양으로 문서를 만드는 데 도움이 될 것이라고 확신합니다. 피드백에 대한

+0

감사합니다. 나는 이것들을 어디에서나 발견 할 수 없었다. 다소 부족한 2.4 -> 3.0 changelog에 대해 옳습니다. 나는 시간을 할애하면 그것에 기여하려고 노력할 것이다. –