Example #1
0
def on_mousedown(button, pos):
    if frame.mode is None or frame.mode.on_mousedown(button, pos):
        intron = frame.pick_intron(pos)
        if intron is None:
            set_mode( None )
            return
        if isinstance(intron.controller, LayoutController):
            obj = intron.controller.obj
            if isinstance(obj, (mutable.List, mutable.String, mutable.Document)):
                head = intron.pick_offset(pos)
                set_mode( EditMode(frame, mutable.Selection(obj, head)) )
            else:
                set_mode( EditMode(frame, mutable.normalize(obj)) )
Example #2
0
argon = Argon(600, 800)

#from mode import Mode, SelectionMode

default = renderer.get_default_style(argon).inherit(
    color = whiteish,
)

language = __import__('strike')
EditMode = language.EditMode
layouter = language.init(argon, default, theme)

toolbar_height = argon.default_font.height*2
frame = Frame((0, 0, argon.width, argon.height-toolbar_height), document, layouter)
frame.mode = EditMode(frame, mutable.normalize(document, False))

def set_mode(new_mode):
    if frame.mode is not None:
        frame.mode.free()
    frame.mode = new_mode

box7 = argon.load.patch9('box7.png')
frame.style.update(
    background_color = theme.background,
    caret_color = rgba(255, 255, 255, 255),
    selection_background = box7,
    selection_color_inner = rgba(0,   0, 255, 128),
    selection_color_outer = rgba(32, 32, 255, 128),
    selection_color_bad   = rgba(255, 255, 0, 192),
)