def __init__(self, client): self.client = client self.login_button = OneTimeButton(label="Login", on_release=self.login) self.username_field = TextInput("") self.password_field = TextInput("") self.login_container = VerticalContainer( [self.login_button, self.username_field, self.password_field]) Manager.__init__(self, Frame(self.login_container), window=self.client.window, theme=UI_THEME)
def __init__(self, client): self.client = client self.connect_button = OneTimeButton(label="Connect", on_release=self.connect) self.server_field = TextInput("localhost") self.port_field = TextInput("10000") self.connect_container = VerticalContainer( [self.connect_button, self.server_field, self.port_field]) Manager.__init__(self, Frame(self.connect_container, path='connectFrame'), window=self.client.window, theme=UI_THEME)
def setUp(self): TestPygletGUI.setUp(self) self.input = TextInput(text="test") self.manager = Manager(self.input, window=self.window, batch=self.batch, theme=self.theme)
def initNameMene(self): def sendMeneName(event): self.menename = self.nameInput.get_text() if len(self.menename) > 0: self.saveBtn.disabled = True self.naming = True label = Label("Name Your Mene", color=g.postColor, font_size=18, bold=True) #meneTheme = Theme({g.spriteName: { # "image": { # "source": g.spriteName+'_front.png' # }, # "gui_color": [255,255,255,255] # } # },resources_path=g.dataPath+'/menes/' #) #picture = Graphic(g.spriteName,alternative=meneTheme) picture = Graphic( texture=g.gameEngine.resManager.meneSprites[g.spriteName]['front']) self.nameInput = TextInput(text="", padding=2, length=12, max_length=12, width=200, font_size=16) self.saveBtn = HighlightedButton(label="Save", on_release=sendMeneName, width=100, height=40, font_size=16) frame = Frame(VerticalContainer(content=[ label, picture, HorizontalContainer([self.nameInput, self.saveBtn]) ]), path='frame_npc_talk') self.meneMan = Manager(frame, window=self.screen, batch=g.guiBatch, theme=g.theme, offset=(0, 0), is_movable=False)
def __init__(self): g.reportWindowOpened = True getReport() label1 = Label("Send Ticket", bold=True, color=g.loginFontColor) closeBtn = HighlightedButton("", on_release=self.delete, width=19, height=19, path='delete') horzCont = HorizontalContainer(content=[label1, None, closeBtn]) #self.infoLabel = Label("No reports founds") self.reportInput = TextInput(text="", padding=5, length=16, max_length=400, width=g.SCREEN_WIDTH / 3, height=g.SCREEN_HEIGHT / 3, multiline=True) clearBtn = HighlightedButton("Clear", on_release=self.clear, width=120, height=30) deleteBtn = HighlightedButton("Delete", on_release=self.remove, width=120, height=30) sendBtn = HighlightedButton("Send", on_release=self.send, width=120, height=30) buttons = HorizontalContainer(content=[clearBtn, deleteBtn, sendBtn]) frame = Frame( VerticalContainer(content=[horzCont, self.reportInput, buttons])) Manager.__init__(self, frame, window=g.screen, batch=g.guiBatch, is_movable=False, theme=g.theme) frame.expand(g.SCREEN_WIDTH / 2, height=g.SCREEN_HEIGHT / 4 * 3)
def __init__(self, client): self.client = client self.message_container = VerticalContainer(content=[], align=HALIGN_LEFT) self.messages = Scrollable(height=100, width=300, is_fixed_size=True, content=self.message_container) self.text_input = TextInput("", length=20, max_length=256) self.send_button = OneTimeButton("Send", on_release=self.submit_message) self.enter_field = HorizontalContainer( [self.text_input, self.send_button]) self.chat_window = VerticalContainer([self.messages, self.enter_field]) Manager.__init__(self, Frame(self.chat_window, path='chatFrame'), window=self.client.window, theme=UI_THEME, is_movable=True, anchor=ANCHOR_BOTTOM_LEFT)
def initManagers(self): g.gameEngine.changeMusicSong(LOGINMENUSONG) g.gameEngine.musicManager.volume = g.MUSICVOLUME self.skyHeight = int(0.4592592 * g.SCREEN_HEIGHT) self.skyWidth = int(1.625 * g.SCREEN_WIDTH) self.ukkeliSprite._set_scale(self.screen.width / 1920.0) #self.ukkeliSprite.anchor_x=self.ukkeliSprite.width//2 #self.ukkeliSprite.anchor_y=self.ukkeliSprite.height//2 self.ukkeliSprite.x = 0.5 * self.screen.width self.ukkeliSprite2._set_scale(self.screen.width / 1920.0) self.ukkeliSprite2.x = 0.5 * self.screen.width #self.ukkeliSprite2.anchor_x=self.ukkeliSprite2.width//2 #self.ukkeliSprite2.anchor_y=self.ukkeliSprite2.height//2 self.logo._set_scale(self.screen.width / 1920.0) self.logo.x = (self.screen.width - self.l1.width * (self.screen.width / 1920.0)) / 2 self.logo.y = (self.screen.height - 350) * (1080.0 / self.screen.height) self.charTick = int( (datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)).total_seconds() * 1000) label = Label("Username", color=g.loginFontColor, font_size=18) label1 = Label("Password", color=g.loginFontColor, font_size=18) self.logininput = TextInput(text="", padding=2, length=16, max_length=16, width=220, font_size=18) self.passwordinput = TextInput(text="", font=g.defaultPWFont.name, padding=0, length=21.5, width=220, font_size=18) self.button = HighlightedButton(label="Login", on_release=self.tryLogin, width=210, height=50, font_size=16) vertCont = VerticalContainer([ label, self.logininput, Spacer(min_height=10), label1, self.passwordinput, Spacer(min_height=40), self.button ]) versionInfo = Label("Version: " + GAME_VERSION, color=(0, 0, 0, 255), font_size=10) self.exitButton = HighlightedButton(label="Exit", on_release=self.exit, width=100, height=40, font_size=14) vertCont2 = VerticalContainer([versionInfo, self.exitButton]) self.man1 = Manager(vertCont, window=self.screen, batch=g.guiBatch, theme=g.theme, offset=(0, -50), is_movable=False) self.man2 = Manager(vertCont2, window=self.screen, batch=g.guiBatch, theme=g.theme, anchor=ANCHOR_BOTTOM_RIGHT, offset=(-50, 50), is_movable=False) self.man1.set_focus(self.logininput)
def viewer(self): elems = {} # Title elems['title'] = Label('Customize Material') # Particle shape setting elems['shape'] = HoriCont([ GroupButton(group_id='shape', label='Circle', is_pressed=True), GroupButton(group_id='shape', label='Square') ]) # Size setting """ Temporarily removed to work on same-size optimization r_display = Label('3.0 m') r_slider = HoriSlide(on_set=lambda x: self.lbl_slider(x, r_display, after=' m'), min_value=1, max_value=10, value=3) elems['radius'] = HoriCont([r_display, r_slider]) """ # Mass setting m_display = Label('1.00 kg') m_slider = HoriSlide(on_set=lambda x: self.lbl_slider( x, m_display, digits=4, after=' kg'), min_value=1, max_value=100, value=1) elems['mass'] = HoriCont([m_display, m_slider]) max_vel = 50 # Velocity_x setting vx_lbl = Label('X velocity:') vx_display = Label('0.0 m/s') vx_slider = HoriSlide(on_set=lambda x: self.lbl_slider( x, vx_display, digits=3, after=' m/s'), min_value=-1 * max_vel, max_value=max_vel, value=0) elems['x_velocity'] = VertCont( [vx_lbl, HoriCont([vx_display, vx_slider])]) # Velocity_y setting vy_lbl = Label('Y velocity:') vy_display = Label('0.0 m/s') vy_slider = HoriSlide(on_set=lambda x: self.lbl_slider( x, vy_display, digits=3, after=' m/s'), min_value=-1 * max_vel, max_value=max_vel, value=0) elems['y_velocity'] = VertCont( [vy_lbl, HoriCont([vy_display, vy_slider])]) # Color setting red_in = TextInput( ' 255', length=4, max_length=4, on_input=lambda x: self.color_input(x, 'red', red_in)) green_in = TextInput( ' 0', length=4, max_length=4, on_input=lambda x: self.color_input(x, 'green', green_in)) blue_in = TextInput( ' 0', length=4, max_length=4, on_input=lambda x: self.color_input(x, 'blue', blue_in)) elems['color'] = HoriCont([red_in, green_in, blue_in]) # Gravity setting elems['gravity'] = Checkbox('Has gravity', is_pressed=False) self.elems = elems sidebar = Frame(VertCont(self.get_elem_list(), padding=20)) return sidebar
from pyglet_gui.text_input import TextInput from pyglet_gui.theme import Theme theme = Theme( { "font": "Lucida Grande", "font_size": 12, "text_color": [255, 255, 255, 255], "gui_color": [255, 0, 0, 255], "input": { "image": { "source": "input.png", "frame": [3, 3, 2, 2], "padding": [3, 3, 2, 3] }, # need a focus color "focus_color": [255, 255, 255, 64], "focus": { "image": { "source": "input-highlight.png" } } } }, resources_path='../theme/') # Set up a Manager Manager(TextInput(text="Write on me"), window=window, batch=batch, theme=theme) pyglet.app.run()
def __init__(self): w1 = int(350 * (g.SCREEN_WIDTH / 1920.)) h1 = int(300 * (g.SCREEN_HEIGHT / 1080.)) if w1 > 300: g.chatTheme["font_size"] = 11 g.theme["font_size"] = 11 g.theme["button"]["font_size"] = 11 elif w1 > 250: g.chatTheme["font_size"] = 12 g.theme["font_size"] = 12 g.theme["button"]["font_size"] = 12 w1 = int(w1 * 1.1) elif w1 > 200: g.chatTheme["font_size"] = 11 g.theme["font_size"] = 11 g.theme["button"]["font_size"] = 11 w1 = int(w1 * 1.2) elif w1 > 175: g.chatTheme["font_size"] = 10 g.theme["font_size"] = 10 g.theme["button"]["font_size"] = 10 w1 = int(w1 * 1.3) else: g.chatTheme["font_size"] = 9 g.theme["font_size"] = 9 g.theme["button"]["font_size"] = 9 w1 = int(w1 * 1.3) self.chatInput = TextInput(text="", padding=0, length=16, max_length=MAX_CHAT_INPUT, width=w1 - 5 - 50) sendButton = HighlightedButton(label="Send", on_release=self.sendMessage, width=50, height=35) realtext = '{font_size ' + str( g.chatTheme["font_size"]) + '}{background_color ' + str( g.postBgColor ) + '}{font_name "' + g.chatTheme["font"] + '"}{wrap "char"} ' document = pyglet.text.decode_attributed(realtext) self.textArea = Document(document, width=w1, height=h1, background=True, font_size=g.chatTheme["font_size"], font_name=g.chatTheme["font"], chat=True) vertCont = VerticalContainer(content=[ self.textArea, HorizontalContainer(content=[self.chatInput, sendButton]) ], align=HALIGN_LEFT) Manager.__init__(self, vertCont, window=g.screen, batch=g.guiBatch, theme=g.chatTheme, anchor=ANCHOR_BOTTOM_LEFT, offset=(g.SCREEN_WIDTH * 0.05, g.SCREEN_HEIGHT * 0.1), is_movable=False)