У меня много GTK-виджетов / GObjects в моем проекте.Я хотел бы иметь возможность прикреплять некоторую информацию к каждому объекту по мере его создания, а затем, когда объект передается какой-либо общей библиотечной подпрограмме, иметь возможность получать эту информацию, специфичную для виджета / объекта GObject, для целей обработки
Iзаглянул в руководство GObject и думаю, что смогу с помощью некоторых из этих процедур.Но каждый раз, когда я что-то проверяю, мне приходится отслеживать множество определений, которые требуют дальнейшего изучения.Я потерян.Я искал какой-нибудь простой пример, который мог бы представить все это в перспективе.
Я хотел бы иметь возможность ввести что-то вроде (Пример кода в FreeBasic)
dim as GtkWidget Ptr widget = gtk_button_new("Press Me")
, а затем добавить строкучто-то вроде этого
add_property(widget,"username","Andrew Loy",-1)
Затем в какой-то стандартной процедуре сообщения об ошибках библиотеки, где виджет хранится в некоторой общей куче.
Sub ReportError(widget as GtkWidget Ptr)
dim as Zstring ptr NameOfUser
get_property(widget,"username",@NameOfUser,-1)
print *NameOfUser
Я хочу, чтобы виджет / объект GObject содержал больше информации, чемобеспечивается стандартом GTK.Достаточно простого указателя.