@@ -4,10 +4,13 @@ from typing import Optional
44from typing import Sequence
55from typing import Tuple
66from typing import Type
7+ from typing import TypeVar
78
89from gi .repository import GLib
910from gi .repository import GObject
1011
12+ ItemType = TypeVar ("ItemType" )
13+
1114DBUS_METHOD_INVOCATION_HANDLED : bool = True
1215DBUS_METHOD_INVOCATION_UNHANDLED : bool = False
1316DEBUG_CONTROLLER_EXTENSION_POINT_NAME : str = "gio-debug-controller"
@@ -4032,41 +4035,58 @@ class InputVector(GObject.GPointer):
40324035 buffer : None = ...
40334036 size : int = ...
40344037
4035- class ListModel (GObject .Object ):
4036- def get_item (self , position : int ) -> Optional [GObject .Object ]: ...
4037- def get_item_type (self ) -> Type : ...
4038+ # override
4039+ class ListModel (GObject .Object , Generic [ItemType ]):
4040+ # override
4041+ def get_item (self , position : int ) -> Optional [ItemType ]: ...
4042+ # override
4043+ def get_item_type (self ) -> Type [ItemType ]: ...
40384044 def get_n_items (self ) -> int : ...
40394045 def items_changed (self , position : int , removed : int , added : int ) -> None : ...
40404046
4041- class ListModelInterface (GObject .GPointer ):
4047+ # override
4048+ class ListModelInterface (GObject .GPointer , Generic [ItemType ]):
40424049 g_iface : GObject .TypeInterface = ...
4043- get_item_type : Callable [[ListModel ], Type ] = ...
4044- get_n_items : Callable [[ListModel ], int ] = ...
4045- get_item : Callable [[ListModel , int ], Optional [GObject .Object ]] = ...
4050+ # override
4051+ get_item_type : Callable [[ListModel [ItemType ]], Type [ItemType ]] = ...
4052+ # override
4053+ get_n_items : Callable [[ListModel [ItemType ]], int ] = ...
4054+ # override
4055+ get_item : Callable [[ListModel [ItemType ], int ], Optional [ItemType ]] = ...
40464056
4047- class ListStore (GObject .Object , ListModel ):
4057+ # override
4058+ class ListStore (GObject .Object , Generic [ItemType ], ListModel [ItemType ]):
40484059 class Props :
4049- item_type : Type
4060+ # override
4061+ item_type : Type [ItemType ]
40504062 n_items : int
40514063 props : Props = ...
4052- def __init__ (self , item_type : Type = ...): ...
4053- def append (self , item : GObject .Object ) -> None : ...
4054- def find (self , item : GObject .Object ) -> Tuple [bool , int ]: ...
4064+ # override
4065+ def __init__ (self , item_type : Type [ItemType ] = ...): ...
4066+ # override
4067+ def append (self , item : ItemType ) -> None : ...
4068+ # override
4069+ def find (self , item : ItemType ) -> Tuple [bool , int ]: ...
4070+ # override
40554071 def find_with_equal_func (
4056- self , item : GObject . Object , equal_func : Callable [[None , None ], bool ]
4072+ self , item : ItemType , equal_func : Callable [[None , None ], bool ]
40574073 ) -> Tuple [bool , int ]: ...
4074+ # override
40584075 def find_with_equal_func_full (
4059- self , item : GObject . Object , equal_func : Callable [..., bool ], * user_data : Any
4076+ self , item : ItemType , equal_func : Callable [..., bool ], * user_data : Any
40604077 ) -> Tuple [bool , int ]: ...
4061- def insert (self , position : int , item : GObject .Object ) -> None : ...
4078+ # override
4079+ def insert (self , position : int , item : ItemType ) -> None : ...
40624080 def insert_sorted (self , * args , ** kwargs ): ... # FIXME Method
4081+ # override
40634082 @classmethod
4064- def new (cls , item_type : Type ) -> ListStore : ...
4083+ def new (cls , item_type : Type [ ItemType ] ) -> ListStore [ ItemType ] : ...
40654084 def remove (self , position : int ) -> None : ...
40664085 def remove_all (self ) -> None : ...
40674086 def sort (self , * args , ** kwargs ): ... # FIXME Method
4087+ # override
40684088 def splice (
4069- self , position : int , n_removals : int , additions : Sequence [GObject . Object ]
4089+ self , position : int , n_removals : int , additions : Sequence [ItemType ]
40704090 ) -> None : ...
40714091
40724092class ListStoreClass (GObject .GPointer ):
0 commit comments