#include <string.h>
#include <stdio.h>
-#include <gtk/gtklabel.h>
+#include <gtk/gtk.h>
#include "os/file.h"
#include "generic/callback.h"
#include "map.h"
#include "qe3.h"
-#define MRU_MAX 4
+const int MRU_MAX = 4;
namespace {
GtkMenuItem *MRU_items[MRU_MAX];
std::size_t MRU_used;
MRU_SetText( i, MRU_GetText( i - 1 ) );
MRU_SetText( 0, str );
- gtk_widget_set_sensitive( GTK_WIDGET( MRU_items[0] ), TRUE );
- gtk_widget_show( GTK_WIDGET( MRU_items[MRU_used - 1] ) );
+ gtk_widget_set_sensitive( ui::MenuItem::from(MRU_items[0]) , TRUE );
+ ui::MenuItem::from(MRU_items[MRU_used - 1] ).show();
}
void MRU_Init(){
}
}
-void MRU_AddWidget( GtkMenuItem *widget, std::size_t pos ){
+void MRU_AddWidget( ui::MenuItem widget, std::size_t pos ){
if ( pos < MRU_MAX ) {
MRU_items[pos] = widget;
if ( pos < MRU_used ) {
MRU_updateWidget( pos, MRU_GetText( pos ) );
- gtk_widget_set_sensitive( GTK_WIDGET( MRU_items[0] ), TRUE );
- gtk_widget_show( GTK_WIDGET( MRU_items[pos] ) );
+ gtk_widget_set_sensitive( ui::MenuItem::from(MRU_items[0]) , TRUE );
+ ui::MenuItem::from(MRU_items[pos]).show();
}
}
}
MRU_SetText( i, MRU_GetText( i + 1 ) );
if ( MRU_used == 0 ) {
- gtk_label_set_text( GTK_LABEL( GTK_BIN( MRU_items[0] )->child ), "Recent Files" );
- gtk_widget_set_sensitive( GTK_WIDGET( MRU_items[0] ), FALSE );
+ auto label = ui::Label::from(gtk_bin_get_child(GTK_BIN(MRU_items[0] )) );
+ label.text("Recent Files");
+ gtk_widget_set_sensitive( ui::MenuItem::from(MRU_items[0]), FALSE );
}
else
{
- gtk_widget_hide( GTK_WIDGET( MRU_items[MRU_used] ) );
+ ui::MenuItem::from(MRU_items[MRU_used]).hide();
}
}
}
}
};
-typedef MemberCaller<LoadMRU, &LoadMRU::load> LoadMRUCaller;
+typedef MemberCaller<LoadMRU, void(), &LoadMRU::load> LoadMRUCaller;
LoadMRU g_load_mru1( 1 );
LoadMRU g_load_mru2( 2 );
LoadMRU g_load_mru3( 3 );
LoadMRU g_load_mru4( 4 );
-void MRU_constructMenu( GtkMenu* menu ){
+void MRU_constructMenu( ui::Menu menu ){
{
- GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_1", LoadMRUCaller( g_load_mru1 ) );
- gtk_widget_set_sensitive( GTK_WIDGET( item ), FALSE );
+ auto item = create_menu_item_with_mnemonic( menu, "_1", LoadMRUCaller( g_load_mru1 ) );
+ gtk_widget_set_sensitive( item , FALSE );
MRU_AddWidget( item, 0 );
}
{
- GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_2", LoadMRUCaller( g_load_mru2 ) );
- gtk_widget_hide( GTK_WIDGET( item ) );
+ auto item = create_menu_item_with_mnemonic( menu, "_2", LoadMRUCaller( g_load_mru2 ) );
+ item.hide();
MRU_AddWidget( item, 1 );
}
{
- GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_3", LoadMRUCaller( g_load_mru3 ) );
- gtk_widget_hide( GTK_WIDGET( item ) );
+ auto item = create_menu_item_with_mnemonic( menu, "_3", LoadMRUCaller( g_load_mru3 ) );
+ item.hide();
MRU_AddWidget( item, 2 );
}
{
- GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_4", LoadMRUCaller( g_load_mru4 ) );
- gtk_widget_hide( GTK_WIDGET( item ) );
+ auto item = create_menu_item_with_mnemonic( menu, "_4", LoadMRUCaller( g_load_mru4 ) );
+ item.hide();
MRU_AddWidget( item, 3 );
}
}
#include "stringio.h"
void MRU_Construct(){
- GlobalPreferenceSystem().registerPreference( "Count", SizeImportStringCaller( MRU_used ), SizeExportStringCaller( MRU_used ) );
+ GlobalPreferenceSystem().registerPreference( "Count", make_property_string( MRU_used ) );
for ( std::size_t i = 0; i != MRU_MAX; ++i )
{
- GlobalPreferenceSystem().registerPreference( MRU_keys[i], CopiedStringImportStringCaller( MRU_filenames[i] ), CopiedStringExportStringCaller( MRU_filenames[i] ) );
+ GlobalPreferenceSystem().registerPreference( MRU_keys[i], make_property_string( MRU_filenames[i] ) );
}
MRU_Init();