69 lines
1.7 KiB
Python
69 lines
1.7 KiB
Python
#
|
|
# Python GUI - Controls - PyObjC
|
|
#
|
|
|
|
from math import ceil
|
|
from Foundation import NSSize
|
|
import AppKit
|
|
from GUI import export
|
|
from GUI import StdColors
|
|
from GUI import Color
|
|
from GUI import Font
|
|
from GUI.GControls import Control as GControl
|
|
|
|
_ns_alignment_from_just = {
|
|
'left': AppKit.NSLeftTextAlignment,
|
|
'center': AppKit.NSCenterTextAlignment,
|
|
'centre': AppKit.NSCenterTextAlignment,
|
|
'right': AppKit.NSRightTextAlignment,
|
|
'flush': AppKit.NSJustifiedTextAlignment,
|
|
'': AppKit.NSNaturalTextAlignment,
|
|
}
|
|
|
|
_ns_alignment_to_just = {
|
|
AppKit.NSLeftTextAlignment: 'left',
|
|
AppKit.NSCenterTextAlignment: 'center',
|
|
AppKit.NSRightTextAlignment: 'right',
|
|
AppKit.NSJustifiedTextAlignment: 'flush',
|
|
AppKit.NSNaturalTextAlignment: '',
|
|
}
|
|
|
|
class Control(GControl):
|
|
|
|
#_vertical_padding = 5
|
|
|
|
def get_title(self):
|
|
return self._ns_cell().title()
|
|
|
|
def set_title(self, v):
|
|
self._ns_cell().setTitle_(v)
|
|
|
|
def get_enabled(self):
|
|
return self._ns_cell().enabled()
|
|
|
|
def set_enabled(self, v):
|
|
self._ns_cell().setEnabled_(v)
|
|
|
|
def get_color(self):
|
|
return StdColors.black
|
|
|
|
def set_color(self, v):
|
|
pass
|
|
|
|
def get_font(self):
|
|
return Font._from_ns_font(self._ns_cell().font())
|
|
|
|
def set_font(self, f):
|
|
self._ns_cell().setFont_(f._ns_font)
|
|
|
|
def get_just(self):
|
|
return _ns_alignment_to_just[self._ns_cell().alignment()]
|
|
|
|
def set_just(self, v):
|
|
self._ns_cell().setAlignment_(_ns_alignment_from_just[v])
|
|
|
|
def _ns_cell(self):
|
|
return self._ns_inner_view.cell()
|
|
|
|
export(Control)
|