fun add_view(view: NativeView) in "Java" `{ self.addView(view); `}
+ fun remove_view(view: NativeView) in "Java" `{ self.removeView(view); `}
+
fun add_view_with_weight(view: NativeView, weight: Float)
in "Java" `{
self.addView(view, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, (float)weight));
# FIXME abstract the use either homogeneous or weight to balance views size in a layout
native.add_view_with_weight(item.native, 1.0)
end
+
+ redef fun remove(item)
+ do
+ super
+ if item isa View then native.remove_view item.native
+ end
end
redef class HorizontalLayout
protected fun add(item: Control) do items.add item
# Remove `item` from `self`
- protected fun remove(item: Control) do if has(item) then items.remove item
+ fun remove(item: Control) do if has(item) then items.remove item
# Is `item` in `self`?
- protected fun has(item: Control): Bool do return items.has(item)
+ fun has(item: Control): Bool do return items.has(item)
redef fun on_create do for i in items do i.on_create
end
redef class View
+ init do native.show
+
redef fun enabled do return native.sensitive
redef fun enabled=(enabled) do native.sensitive = enabled or else true
end
redef class Layout
redef type NATIVE: GtkBox
+ redef fun remove(view)
+ do
+ super
+ native.remove view.native
+ end
end
redef class HorizontalLayout