More work on text
This commit is contained in:
parent
284a77b10f
commit
800719a4b5
|
|
@ -92,6 +92,9 @@ def onMouseDownGroup(self, x, y):
|
||||||
self.ctext.onMouseUp = onMouseUpText
|
self.ctext.onMouseUp = onMouseUpText
|
||||||
self.add(self.ctext)
|
self.add(self.ctext)
|
||||||
self.ctext = None
|
self.ctext = None
|
||||||
|
MainWindow.docbox.setvisible(True)
|
||||||
|
MainWindow.textbox.setvisible(False)
|
||||||
|
|
||||||
def onMouseDownObj(self, x, y):
|
def onMouseDownObj(self, x, y):
|
||||||
MainWindow.scriptwindow.text = root.descendItem().activelayer.frames[root.descendItem().activelayer.currentframe].actions
|
MainWindow.scriptwindow.text = root.descendItem().activelayer.frames[root.descendItem().activelayer.currentframe].actions
|
||||||
self.clicked = True
|
self.clicked = True
|
||||||
|
|
@ -103,7 +106,10 @@ def onMouseDownText(self,x,y):
|
||||||
MainWindow.scriptwindow.text = root.descendItem().activelayer.frames[root.descendItem().activelayer.currentframe].actions
|
MainWindow.scriptwindow.text = root.descendItem().activelayer.frames[root.descendItem().activelayer.currentframe].actions
|
||||||
self.clicked = True
|
self.clicked = True
|
||||||
self.initx, self.inity = x-self.x, y-self.y
|
self.initx, self.inity = x-self.x, y-self.y
|
||||||
#svlgui.alert('235')
|
MainWindow.docbox.setvisible(False)
|
||||||
|
MainWindow.textbox.setvisible(True)
|
||||||
|
svlgui.CURRENTTEXT = self.obj
|
||||||
|
print "Height", MainWindow.textbox.height
|
||||||
def onMouseDownFrame(self, x, y):
|
def onMouseDownFrame(self, x, y):
|
||||||
pass
|
pass
|
||||||
def onMouseUpGroup(self, x, y):
|
def onMouseUpGroup(self, x, y):
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
# Released under the GPLv3. For more information, see gpl.txt.
|
# Released under the GPLv3. For more information, see gpl.txt.
|
||||||
|
|
||||||
import svlgui
|
import svlgui
|
||||||
|
import math
|
||||||
import misc_funcs
|
import misc_funcs
|
||||||
from misc_funcs import *
|
from misc_funcs import *
|
||||||
|
|
||||||
|
|
@ -259,17 +260,74 @@ class MainWindowOSX:
|
||||||
[self.publishbutton,self.publishlabel._int(),None,self.sizebutton._int(),None,"nw", ""],
|
[self.publishbutton,self.publishlabel._int(),None,self.sizebutton._int(),None,"nw", ""],
|
||||||
[self.frameratelabel,10,None,self.publishbutton._int(),None,"nw", ""],
|
[self.frameratelabel,10,None,self.publishbutton._int(),None,"nw", ""],
|
||||||
[self.frameratentry,self.frameratelabel._int(),None,self.publishbutton._int(),None,"nw", ""])
|
[self.frameratentry,self.frameratelabel._int(),None,self.publishbutton._int(),None,"nw", ""])
|
||||||
|
self.textbox = svlgui.Frame()
|
||||||
|
self.tgroup = svlgui.RadioGroup("Static text", "Dynamic text", "Input text")
|
||||||
|
def setmode(self):
|
||||||
|
if self.value=="Static text":
|
||||||
|
svlgui.CURRENTTEXT.dynamic = False
|
||||||
|
self.textvarentry.text = ""
|
||||||
|
self.textvarentry.disable()
|
||||||
|
self.tinstancename.disable()
|
||||||
|
self.tinstancename.text = "<Instance Name>"
|
||||||
|
self.tinstancename._int().color = svlgui.Color("#AAAAAA").pygui
|
||||||
|
elif self.value=="Input text":
|
||||||
|
svlgui.CURRENTTEXT.dynamic = True
|
||||||
|
svlgui.CURRENTTEXT.editable = False
|
||||||
|
self.textvarentry.enable()
|
||||||
|
self.tinstancename.enable()
|
||||||
|
else:
|
||||||
|
svlgui.CURRENTTEXT.dynamic = True
|
||||||
|
svlgui.CURRENTTEXT.editable = True
|
||||||
|
self.textvarentry.enable()
|
||||||
|
self.tinstancename.enable()
|
||||||
|
self.tgroup.action = setmode
|
||||||
|
self.tfontlabel = svlgui.Label("Font:")
|
||||||
|
self.tfontbutton = svlgui.Button("Times New Roman")
|
||||||
|
self.mlgroup = svlgui.RadioGroup("Single line","Multiline","Multiline no wrap")
|
||||||
|
self.fontsizelabel = svlgui.Label("Size:")
|
||||||
|
self.fontsizentry = svlgui.TextEntry("16.0")
|
||||||
|
self.fontsizentry.set_action(self.editFontSizeText)
|
||||||
|
self.fontsizescale = svlgui.Scale(1,4,20)
|
||||||
|
self.fontsizescale.set_action(self.editFontSizeScale)
|
||||||
|
self.textvarlabel = svlgui.Label("Var:")
|
||||||
|
self.textvarentry = svlgui.TextEntry(" ")
|
||||||
|
self.textvarentry.set_action(self.setFontVar)
|
||||||
|
self.textvarentry.disable()
|
||||||
|
self.tgroup.textvarentry = self.textvarentry
|
||||||
|
self.tinstancename = svlgui.TextEntry("<Instance Name>")
|
||||||
|
self.tgroup.tinstancename = self.tinstancename
|
||||||
|
self.tinstancename.original_color = self.tinstancename._int().color
|
||||||
|
self.tinstancename._int().color = svlgui.Color("#aaaaaa").pygui
|
||||||
|
self.tinstancename._int().mouse_down = self.darkentinstance
|
||||||
|
self.tinstancename.set_action(self.setFontInstanceName)
|
||||||
|
self.textbox.layout_self([self.tgroup[0],10,None,5,None,"nw",""],
|
||||||
|
[self.tgroup[1],10,None,self.tgroup[0]._int(),None,"nw",""],
|
||||||
|
[self.tgroup[2],10,None,self.tgroup[1]._int(),None,"nw",""],
|
||||||
|
[self.tinstancename,10,None,self.tgroup[2]._int(),None,"nw",""],
|
||||||
|
[self.tfontlabel,self.tinstancename._int(),None,5,None,"nw",""],
|
||||||
|
[self.tfontbutton,self.tfontlabel._int(),None,5,None,"nw",""],
|
||||||
|
[self.mlgroup[0],self.tinstancename._int(),None,self.tfontbutton._int(),None,"nw",""],
|
||||||
|
[self.mlgroup[1],self.tinstancename._int(),None,self.mlgroup[0]._int(),None,"nw",""],
|
||||||
|
[self.mlgroup[2],self.tinstancename._int(),None,self.mlgroup[1]._int(),None,"nw",""],
|
||||||
|
[self.fontsizelabel,self.tfontbutton._int(),None,5,None,"nw",""],
|
||||||
|
[self.fontsizentry,self.fontsizelabel._int(),None,5,None,"nw",""],
|
||||||
|
[self.fontsizescale,self.fontsizentry._int(),None,5,None,"nw",""],
|
||||||
|
[self.textvarlabel,self.tfontbutton._int(),None,self.fontsizentry._int()+3,None,"nw",""],
|
||||||
|
[self.textvarentry,self.textvarlabel._int(),None,self.fontsizentry._int()+3,None,"nw",""])
|
||||||
|
self.textvarentry.text=""
|
||||||
self.frame.layout_self( [self.toolbox,0,None,0,None,"nw",""],
|
self.frame.layout_self( [self.toolbox,0,None,0,None,"nw",""],
|
||||||
#[self.paintbox,0,245,0,0,"nws","v"],
|
#[self.paintbox,0,245,0,0,"nws","v"],
|
||||||
[self.timelinebox,self.toolbox._int()+148,-500,0,None,"new","hv"],
|
[self.timelinebox,self.toolbox._int()+148,-500,0,None,"new","hv"],
|
||||||
#[self.timelinebox,self.paintbox._int()+148,-500,0,None,"new","hv"],
|
#[self.timelinebox,self.paintbox._int()+148,-500,0,None,"new","hv"],
|
||||||
[self.layerbox,self.toolbox._int(),self.toolbox._int().width+150,0,None,"n","v"],
|
[self.layerbox,self.toolbox._int(),self.toolbox._int().width+150,0,None,"n","v"],
|
||||||
#[self.layerbox,self.paintbox._int(),self.toolbox._int().width+150,0,None,"n","v"],
|
#[self.layerbox,self.paintbox._int(),self.toolbox._int().width+150,0,None,"n","v"],
|
||||||
[self.scriptwindow,self.timelinebox._int(),0,0,0,"nse", "hv"],
|
[self.docbox,self.toolbox._int(),0,None,0,"wse", ""],
|
||||||
[self.docbox,self.toolbox._int(),self.scriptwindow._int(),None,0,"wse", ""],
|
[self.textbox,self.toolbox._int(),0,None,0,"wse", ""],
|
||||||
|
[self.scriptwindow,self.timelinebox._int(),0,0,self.docbox._int(),"nse", "hv"],
|
||||||
[self.stage,self.toolbox._int(),self.scriptwindow._int(),self.timelinebox._int()+2,self.docbox._int(),"nsew", "hv"],
|
[self.stage,self.toolbox._int(),self.scriptwindow._int(),self.timelinebox._int()+2,self.docbox._int(),"nsew", "hv"],
|
||||||
[self.paintbox,0,self.stage._int(),self.toolbox._int(),None,"nw","v"] )
|
[self.paintbox,0,self.stage._int(),self.toolbox._int(),None,"nw","v"] )
|
||||||
#[self.stage,self.paintbox._int(),self.scriptwindow._int(),self.timelinebox._int()+2,0,"nsew", "hv"] )
|
#[self.stage,self.paintbox._int(),self.scriptwindow._int(),self.timelinebox._int()+2,0,"nsew", "hv"] )
|
||||||
|
self.textbox.setvisible(False)
|
||||||
self.window.add(self.frame)
|
self.window.add(self.frame)
|
||||||
if svlgui.SYSTEM=="osx":
|
if svlgui.SYSTEM=="osx":
|
||||||
self.stage._int().become_target();
|
self.stage._int().become_target();
|
||||||
|
|
@ -278,6 +336,33 @@ class MainWindowOSX:
|
||||||
svlgui.FRAMERATE=int(self.frameratentry.text)
|
svlgui.FRAMERATE=int(self.frameratentry.text)
|
||||||
if svlgui.SYSTEM=="osx":
|
if svlgui.SYSTEM=="osx":
|
||||||
self.stage._int().become_target();
|
self.stage._int().become_target();
|
||||||
|
def editFontSizeScale(self):
|
||||||
|
self.fontsizentry.text = str(int(self.fontsizescale.value**2)*1.0)
|
||||||
|
svlgui.CURRENTTEXT.size = int(self.fontsizescale.value**2)*1.0
|
||||||
|
self.stage.draw()
|
||||||
|
def editFontSizeText(self):
|
||||||
|
self.fontsizescale.value = math.sqrt(float(self.fontsizentry.text))
|
||||||
|
if svlgui.SYSTEM=="osx":
|
||||||
|
self.stage._int().become_target();
|
||||||
|
svlgui.CURRENTTEXT.size = int(self.fontsizescale.value**2)*1.0
|
||||||
|
def setFontVar(self):
|
||||||
|
if self.tgroup.value=="Static text":
|
||||||
|
self.tgroup.value="Dynamic text"
|
||||||
|
svlgui.CURRENTTEXT.variable = self.textvarentry.text
|
||||||
|
if svlgui.SYSTEM=="osx":
|
||||||
|
self.stage._int().become_target();
|
||||||
|
def setFontInstanceName(self):
|
||||||
|
if not self.tinstancename.text.strip() == "":
|
||||||
|
svlgui.CURRENTTEXT.iname = self.tinstancename.text
|
||||||
|
self.stage._int().become_target();
|
||||||
|
else:
|
||||||
|
self.tinstancename.text = "<Instance Name>"
|
||||||
|
self.tinstancename._int().color = svlgui.Color("#AAAAAA").pygui
|
||||||
|
self.stage._int().become_target()
|
||||||
|
def darkentinstance(self,*args):
|
||||||
|
self.tinstancename._int().color = self.tinstancename.original_color
|
||||||
|
if self.tinstancename.text == "<Instance Name>":
|
||||||
|
self.tinstancename.text = ""
|
||||||
|
|
||||||
# use mainwindowosx, this is just to comment things out
|
# use mainwindowosx, this is just to comment things out
|
||||||
class MainWindowHTML:
|
class MainWindowHTML:
|
||||||
|
|
|
||||||
43
svlgui.py
43
svlgui.py
|
|
@ -49,6 +49,8 @@ EXPORT_OPTS = {"swf":False,"html5":False,"basehtml":False,"fallback":False,"pack
|
||||||
#Editing - whether the user is editing text
|
#Editing - whether the user is editing text
|
||||||
EDITING = True
|
EDITING = True
|
||||||
|
|
||||||
|
CURRENTTEXT = None
|
||||||
|
|
||||||
#Library. Contatins all objects whether displayed or not.
|
#Library. Contatins all objects whether displayed or not.
|
||||||
Library = []
|
Library = []
|
||||||
|
|
||||||
|
|
@ -160,7 +162,7 @@ if sys.platform=="linux2":
|
||||||
from GUI import Frame as OSXFrame, Color as OSXColor, Grid as OSXGrid
|
from GUI import Frame as OSXFrame, Color as OSXColor, Grid as OSXGrid
|
||||||
from GUI import Label as OSXLabel, RadioGroup as OSXRadioGroup, RadioButton as OSXRadioButton
|
from GUI import Label as OSXLabel, RadioGroup as OSXRadioGroup, RadioButton as OSXRadioButton
|
||||||
from GUI import Column, Row, ScrollableView, TextEditor, Colors, ModalDialog
|
from GUI import Column, Row, ScrollableView, TextEditor, Colors, ModalDialog
|
||||||
from GUI import StdCursors, Alerts, FileDialogs, Font, TextField, CheckBox
|
from GUI import StdCursors, Alerts, FileDialogs, Font, TextField, CheckBox, Slider
|
||||||
from GUI.StdMenus import basic_menus, file_cmds, print_cmds
|
from GUI.StdMenus import basic_menus, file_cmds, print_cmds
|
||||||
from GUI.StdButtons import DefaultButton, CancelButton
|
from GUI.StdButtons import DefaultButton, CancelButton
|
||||||
from GUI.Files import FileType
|
from GUI.Files import FileType
|
||||||
|
|
@ -185,7 +187,7 @@ elif sys.platform=="win32":
|
||||||
from GUI import Frame as OSXFrame, Color as OSXColor, Grid as OSXGrid
|
from GUI import Frame as OSXFrame, Color as OSXColor, Grid as OSXGrid
|
||||||
from GUI import Label as OSXLabel, RadioGroup as OSXRadioGroup, RadioButton as OSXRadioButton
|
from GUI import Label as OSXLabel, RadioGroup as OSXRadioGroup, RadioButton as OSXRadioButton
|
||||||
from GUI import Column, Row, ScrollableView, TextEditor, Colors, ModalDialog
|
from GUI import Column, Row, ScrollableView, TextEditor, Colors, ModalDialog
|
||||||
from GUI import StdCursors, Alerts, FileDialogs, Font, TextField, CheckBox
|
from GUI import StdCursors, Alerts, FileDialogs, Font, TextField, CheckBox, Slider
|
||||||
from GUI.StdMenus import basic_menus, file_cmds, print_cmds
|
from GUI.StdMenus import basic_menus, file_cmds, print_cmds
|
||||||
from GUI.StdButtons import DefaultButton, CancelButton
|
from GUI.StdButtons import DefaultButton, CancelButton
|
||||||
from GUI.Files import FileType
|
from GUI.Files import FileType
|
||||||
|
|
@ -214,7 +216,7 @@ elif sys.platform=="darwin":
|
||||||
from GUI import Frame as OSXFrame, Color as OSXColor, Grid as OSXGrid
|
from GUI import Frame as OSXFrame, Color as OSXColor, Grid as OSXGrid
|
||||||
from GUI import Label as OSXLabel, RadioGroup as OSXRadioGroup, RadioButton as OSXRadioButton
|
from GUI import Label as OSXLabel, RadioGroup as OSXRadioGroup, RadioButton as OSXRadioButton
|
||||||
from GUI import Column, Row, ScrollableView, TextEditor, Colors, ModalDialog
|
from GUI import Column, Row, ScrollableView, TextEditor, Colors, ModalDialog
|
||||||
from GUI import StdCursors, Alerts, FileDialogs, Font, TextField, CheckBox
|
from GUI import StdCursors, Alerts, FileDialogs, Font, TextField, CheckBox, Slider
|
||||||
from GUI.StdMenus import basic_menus, file_cmds, print_cmds
|
from GUI.StdMenus import basic_menus, file_cmds, print_cmds
|
||||||
from GUI.StdButtons import DefaultButton, CancelButton
|
from GUI.StdButtons import DefaultButton, CancelButton
|
||||||
from GUI.Files import FileType
|
from GUI.Files import FileType
|
||||||
|
|
@ -539,6 +541,10 @@ class Label(Widget):
|
||||||
def _int(self):
|
def _int(self):
|
||||||
if SYSTEM=="osx":
|
if SYSTEM=="osx":
|
||||||
return self.label
|
return self.label
|
||||||
|
def disable(self):
|
||||||
|
self.label.enabled = False
|
||||||
|
def enable(self):
|
||||||
|
self.label.enabled = True
|
||||||
class RadioGroup(Widget):
|
class RadioGroup(Widget):
|
||||||
def __getitem__(self,num):
|
def __getitem__(self,num):
|
||||||
return self.buttons[num]
|
return self.buttons[num]
|
||||||
|
|
@ -700,6 +706,24 @@ class Frame(Widget):
|
||||||
else:
|
else:
|
||||||
self.frame.height = 0
|
self.frame.height = 0
|
||||||
|
|
||||||
|
class Scale(Widget):
|
||||||
|
def __init__(self,min,val,max):
|
||||||
|
if SYSTEM=="osx":
|
||||||
|
self.scale = Slider('h')
|
||||||
|
self.scale.min_value = min
|
||||||
|
self.scale.max_value = max
|
||||||
|
self.scale.value = val
|
||||||
|
def _int(self):
|
||||||
|
return self.scale
|
||||||
|
def set_action(self,action):
|
||||||
|
if SYSTEM=="osx":
|
||||||
|
self.scale.action = action
|
||||||
|
def getval(self):
|
||||||
|
return self.scale.value
|
||||||
|
def setval(self, val):
|
||||||
|
self.scale.value = val
|
||||||
|
value = property(getval, setval)
|
||||||
|
|
||||||
class Canvas(Widget):
|
class Canvas(Widget):
|
||||||
def __init__(self,width=False,height=False):
|
def __init__(self,width=False,height=False):
|
||||||
self.objs=[]
|
self.objs=[]
|
||||||
|
|
@ -889,6 +913,10 @@ class TextEntry(Widget):
|
||||||
def _int(self):
|
def _int(self):
|
||||||
if SYSTEM=="osx":
|
if SYSTEM=="osx":
|
||||||
return self.entry
|
return self.entry
|
||||||
|
def disable(self):
|
||||||
|
self.entry.enabled = False
|
||||||
|
def enable(self):
|
||||||
|
self.entry.enabled = True
|
||||||
def set_action(self,action):
|
def set_action(self,action):
|
||||||
if SYSTEM=="osx":
|
if SYSTEM=="osx":
|
||||||
self.entry.enter_action = action
|
self.entry.enter_action = action
|
||||||
|
|
@ -1270,7 +1298,7 @@ class Text (object):
|
||||||
self.xscale = 1
|
self.xscale = 1
|
||||||
self.yscale = 1
|
self.yscale = 1
|
||||||
self.fill = TEXTCOLOR
|
self.fill = TEXTCOLOR
|
||||||
self.font = Font(FONT,24)
|
self.font = Font(FONT,16)
|
||||||
self.dynamic = False
|
self.dynamic = False
|
||||||
self.variable = None
|
self.variable = None
|
||||||
self.password = False
|
self.password = False
|
||||||
|
|
@ -1320,10 +1348,17 @@ class Text (object):
|
||||||
return self.width
|
return self.width
|
||||||
def getmaxy(self):
|
def getmaxy(self):
|
||||||
return 0
|
return 0
|
||||||
|
def getsize(self):
|
||||||
|
return self.font.size
|
||||||
|
def setsize(self,size):
|
||||||
|
self.font = Font(self.font.family,size,self.font.style)
|
||||||
|
self.width = self.font.width(self.text)
|
||||||
|
self.height = self.font.height
|
||||||
minx = property(getminx)
|
minx = property(getminx)
|
||||||
miny = property(getminy)
|
miny = property(getminy)
|
||||||
maxx = property(getmaxx)
|
maxx = property(getmaxx)
|
||||||
maxy = property(getmaxy)
|
maxy = property(getmaxy)
|
||||||
|
size = property(getsize,setsize)
|
||||||
def onMouseDown(self, self1, x, y):
|
def onMouseDown(self, self1, x, y):
|
||||||
pass
|
pass
|
||||||
def onMouseDrag(self, self1, x, y):
|
def onMouseDrag(self, self1, x, y):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue