Size: a a a

2021 February 01

OB

Oleg B in dlang.ru
Oleg B
а что будет делать static this внутри класса? заполнять статические поля?
точно одного static this недостаточно?
они исполняются последовательно для модуля, думаю для класса тоже самое будет
источник

OB

Oleg B in dlang.ru
gavr
точно, в вале уже нагадил
удалил
источник

МВ

Макс Воробьев... in dlang.ru
Oleg B
а что будет делать static this внутри класса? заполнять статические поля?
регистрировать тип
источник

МВ

Макс Воробьев... in dlang.ru
просто думаю, как C г на миксины/UDA переписать
источник

МВ

Макс Воробьев... in dlang.ru
которое
источник

МВ

Макс Воробьев... in dlang.ru
Переслано от Макс Воробьев...
    private static GType type;

   static this() {
       static GTypeInfo info = {
           GObjectClass.sizeof,
           null,
           null,
           null,
           null,
           null,
           GObject.sizeof,
           0,
           null,
           null
       };

       type = Type.registerStatic(GType.OBJECT, "DevicesListModel", &info, cast(GTypeFlags) 0);
       GInterfaceInfo list_iface_info = {
           cast(GInterfaceInitFunc)&init_list_model_interface,
           null,
           null
       };
       Type.addInterfaceStatic(type, ListModelIF.getType(), &list_iface_info);
   }

   private static extern (C) GType getItemTypeImpl(GListModel* list)
   {
       return getDObject!(DevicesListModel)(cast(GObject*)list).getItemType();
   }

   private static extern (C) uint getNItemsImpl(GListModel* list) {
       return getDObject!(DevicesListModel)(cast(GObject*)list).getNItems();
   }

   private static extern (C) void* getItemImpl(GListModel* list, uint position) {
       return getDObject!(DevicesListModel)(cast(GObject*)list).getItem(position);
   }

   private static extern (C) void init_list_model_interface(
                                   GListModelInterface* list,
                                   void* iface_data) {
       list.getItem = &getItemImpl;
       list.getNItems = &getNItemsImpl;
       list.getItemType = &getItemTypeImpl;
   }
источник
2021 February 02

МВ

Макс Воробьев... in dlang.ru
... @gavr123456789  а ты пробовал реализовать ListModel в Vala ?
источник

g

gavr in dlang.ru
Макс Воробьев
... @gavr123456789  а ты пробовал реализовать ListModel в Vala ?
источник

g

gavr in dlang.ru
це для обсервабла сделано
источник

МВ

Макс Воробьев... in dlang.ru
мде
источник

g

gavr in dlang.ru
насколько я понимаю в gtk 4 это не понадобится
источник

МВ

Макс Воробьев... in dlang.ru
gavr
насколько я понимаю в gtk 4 это не понадобится
да не. я про то, что в GtkD интерфейсы как-то перегружены и при этом генерируются явно не для использования
источник

g

gavr in dlang.ru
в шарпах была похожая проблема
источник

g

gavr in dlang.ru
изза которой незя делать bind property, а ведь гтк из каробки поддерживает биндинги
источник

g

gavr in dlang.ru
можно делать реактивный гуй нахаляву
источник

g

gavr in dlang.ru
при чем там с настройками всякими, двухсторонний односторонний итд
источник

МВ

Макс Воробьев... in dlang.ru
при том, если я даже закатаю модель в свой интерфейс, мне все равно GtkD интерфейс юзать надо, что-бы он с вьюхами нормально работал
источник

МВ

Макс Воробьев... in dlang.ru
источник

g

gavr in dlang.ru
хмм, пока в свифте не шарю, но то что там это протокол це годно
источник

МВ

Макс Воробьев... in dlang.ru
gavr
хмм, пока в свифте не шарю, но то что там это протокол це годно
он протокол с дефолтной имплементацией
источник