@@ -14,22 +14,38 @@ type Geometry = {
1414 width : number ;
1515 height : number ;
1616} ;
17+
18+ type ViewSize = {
19+ width : number ;
20+ height : number ;
21+ } ;
22+ type ViewSizeWithFixed = ViewSize & {
23+ fixed ?: boolean ;
24+ } ;
25+ type ViewPos = {
26+ x : number ;
27+ y : number ;
28+ } ;
1729export interface ListenerMap {
1830 [ key : string ] : ( payload ?: any ) => void ;
1931}
2032export interface ViewProps {
2133 visible ?: boolean ;
2234 styleSheet ?: string ;
23- style ?: string ; // Inline style from NodeGui
35+ style ?: string ;
2436 geometry ?: Geometry ;
2537 id ?: string ;
2638 mouseTracking ?: boolean ;
2739 enabled ?: boolean ;
2840 windowOpacity ?: Number ;
2941 windowTitle ?: string ;
3042 windowState ?: WindowState ;
31- windowIcon ?: QIcon ;
3243 cursor ?: CursorShape | QCursor ;
44+ windowIcon ?: QIcon ;
45+ minSize ?: ViewSize ;
46+ maxSize ?: ViewSize ;
47+ size ?: ViewSizeWithFixed ;
48+ pos ?: ViewPos ;
3349 on ?: ListenerMap ;
3450 ref ?: any ;
3551}
@@ -84,6 +100,29 @@ export const setProps = (
84100 set windowIcon ( icon : QIcon ) {
85101 widget . setWindowIcon ( icon ) ;
86102 } ,
103+ set minSize ( size : ViewSize ) {
104+ widget . setMinimumSize ( size . width , size . height ) ;
105+ } ,
106+ set maxSize ( size : ViewSize ) {
107+ widget . setMaximumSize ( size . width , size . height ) ;
108+ } ,
109+ set size ( size : ViewSizeWithFixed ) {
110+ if ( size . fixed ) {
111+ widget . setFixedSize ( size . width , size . height ) ;
112+ } else {
113+ const minSize = newProps . minSize || { width : 0 , height : 0 } ;
114+ const maxSize = newProps . maxSize || {
115+ width : 16777215 ,
116+ height : 16777215
117+ } ;
118+ widget . setMinimumSize ( minSize . width , minSize . height ) ;
119+ widget . setMaximumSize ( maxSize . width , maxSize . height ) ;
120+ widget . resize ( size . width , size . height ) ;
121+ }
122+ } ,
123+ set pos ( position : ViewPos ) {
124+ widget . move ( position . x , position . y ) ;
125+ } ,
87126 set on ( listenerMap : ListenerMap ) {
88127 const listenerMapLatest = Object . assign ( { } , listenerMap ) ;
89128 const oldListenerMap = Object . assign ( { } , oldProps . on ) ;
0 commit comments