Feature #1116 ยป 0075-gtk4x-Implement-FcFCityRow-for-finddlg.c.patch
client/gui-gtk-5.0/cityrep.c | ||
---|---|---|
static GActionGroup *cityrep_group;
|
||
static GMenu *display_menu;
|
||
#define FC_TYPE_CITY_ROW (fc_city_row_get_type())
|
||
#define FC_TYPE_RCITY_ROW (fc_rcity_row_get_type())
|
||
G_DECLARE_FINAL_TYPE(FcCityRow, fc_city_row, FC, CITY_ROW, GObject)
|
||
G_DECLARE_FINAL_TYPE(FcRCityRow, fc_rcity_row, FC, RCITY_ROW, GObject)
|
||
struct _FcCityRow
|
||
struct _FcRCityRow
|
||
{
|
||
GObject parent_instance;
|
||
... | ... | |
int city_id;
|
||
};
|
||
struct _FcCityClass
|
||
struct _FcRCityClass
|
||
{
|
||
GObjectClass parent_class;
|
||
};
|
||
G_DEFINE_TYPE(FcCityRow, fc_city_row, G_TYPE_OBJECT)
|
||
G_DEFINE_TYPE(FcRCityRow, fc_rcity_row, G_TYPE_OBJECT)
|
||
/**********************************************************************//**
|
||
Finalizing method for FcCityRow class
|
||
Finalizing method for FcRCityRow class
|
||
**************************************************************************/
|
||
static void fc_city_row_finalize(GObject *gobject)
|
||
static void fc_rcity_row_finalize(GObject *gobject)
|
||
{
|
||
FcCityRow *row = FC_CITY_ROW(gobject);
|
||
FcRCityRow *row = FC_RCITY_ROW(gobject);
|
||
free(row->columns);
|
||
row->columns = nullptr;
|
||
G_OBJECT_CLASS(fc_city_row_parent_class)->finalize(gobject);
|
||
G_OBJECT_CLASS(fc_rcity_row_parent_class)->finalize(gobject);
|
||
}
|
||
/**********************************************************************//**
|
||
Initialization method for FcCityRow class
|
||
Initialization method for FcRCityRow class
|
||
**************************************************************************/
|
||
static void
|
||
fc_city_row_class_init(FcCityRowClass *klass)
|
||
fc_rcity_row_class_init(FcRCityRowClass *klass)
|
||
{
|
||
GObjectClass *object_class = G_OBJECT_CLASS(klass);
|
||
object_class->finalize = fc_city_row_finalize;
|
||
object_class->finalize = fc_rcity_row_finalize;
|
||
}
|
||
/**********************************************************************//**
|
||
Initialization method for FcCityRow
|
||
Initialization method for FcRCityRow
|
||
**************************************************************************/
|
||
static void
|
||
fc_city_row_init(FcCityRow *self)
|
||
fc_rcity_row_init(FcRCityRow *self)
|
||
{
|
||
self->columns = fc_malloc(sizeof(char *) * NUM_CREPORT_COLS);
|
||
}
|
||
/**********************************************************************//**
|
||
FcCityRow creation method
|
||
FcRCityRow creation method
|
||
**************************************************************************/
|
||
static FcCityRow *fc_city_row_new(void)
|
||
static FcRCityRow *fc_rcity_row_new(void)
|
||
{
|
||
FcCityRow *result;
|
||
FcRCityRow *result;
|
||
result = g_object_new(FC_TYPE_CITY_ROW, nullptr);
|
||
result = g_object_new(FC_TYPE_RCITY_ROW, nullptr);
|
||
return result;
|
||
}
|
||
... | ... | |
GtkListItem *list_item,
|
||
gpointer user_data)
|
||
{
|
||
FcCityRow *row;
|
||
FcRCityRow *row;
|
||
GtkWidget *child = gtk_list_item_get_child(list_item);
|
||
row = gtk_list_item_get_item(list_item);
|
||
... | ... | |
/************************************************************************//**
|
||
Set the values of the city.
|
||
****************************************************************************/
|
||
static void city_store_set(FcCityRow *row, struct city *pcity)
|
||
static void city_store_set(FcRCityRow *row, struct city *pcity)
|
||
{
|
||
struct city_report_spec *spec;
|
||
char buf[64];
|
||
... | ... | |
{
|
||
if (client_has_player()) {
|
||
city_list_iterate(client_player()->cities, pcity) {
|
||
FcCityRow *row = fc_city_row_new();
|
||
FcRCityRow *row = fc_rcity_row_new();
|
||
city_store_set(row, pcity);
|
||
g_list_store_append(G_LIST_STORE(store), row);
|
||
... | ... | |
} else {
|
||
/* Global observer case. */
|
||
cities_iterate(pcity) {
|
||
FcCityRow *row = fc_city_row_new();
|
||
FcRCityRow *row = fc_rcity_row_new();
|
||
city_store_set(row, pcity);
|
||
g_list_store_append(G_LIST_STORE(store), row);
|
||
... | ... | |
city_model_depr = city_report_dialog_store_new_depr();
|
||
city_store = g_list_store_new(FC_TYPE_CITY_ROW);
|
||
city_store = g_list_store_new(FC_TYPE_RCITY_ROW);
|
||
city_selection
|
||
= gtk_multi_selection_new(G_LIST_MODEL(city_store));
|
||
city_view = gtk_column_view_new(GTK_SELECTION_MODEL(city_selection));
|
client/gui-gtk-5.0/finddlg.c | ||
---|---|---|
static struct tile *pos;
|
||
#define FC_TYPE_FCITY_ROW (fc_fcity_row_get_type())
|
||
G_DECLARE_FINAL_TYPE(FcFCityRow, fc_fcity_row, FC, FCITY_ROW, GObject)
|
||
struct _FcFCityRow
|
||
{
|
||
GObject parent_instance;
|
||
char *clause;
|
||
};
|
||
struct _FcFCityClass
|
||
{
|
||
GObjectClass parent_class;
|
||
};
|
||
G_DEFINE_TYPE(FcFCityRow, fc_fcity_row, G_TYPE_OBJECT)
|
||
/**********************************************************************//**
|
||
Initialization method for FcFCityRow class
|
||
**************************************************************************/
|
||
static void
|
||
fc_fcity_row_class_init(FcFCityRowClass *klass)
|
||
{
|
||
}
|
||
/**********************************************************************//**
|
||
Initialization method for FcFCityRow
|
||
**************************************************************************/
|
||
static void
|
||
fc_fcity_row_init(FcFCityRow *self)
|
||
{
|
||
}
|
||
/**********************************************************************//**
|
||
FcFCityRow creation method
|
||
**************************************************************************/
|
||
#if 0
|
||
static FcFCityRow *fc_fcity_row_new(void)
|
||
{
|
||
FcFCityRow *result;
|
||
result = g_object_new(FC_TYPE_FCITY_ROW, nullptr);
|
||
return result;
|
||
}
|
||
#endif
|
||
/**********************************************************************//**
|
||
Popup the dialog 10% inside the main-window
|
||
**************************************************************************/
|