Code clean 1

This commit is contained in:
9and3r
2014-07-25 16:36:31 +02:00
parent 7d76bb1feb
commit 8cd99fa2af
7 changed files with 191 additions and 233 deletions

View File

@@ -26,8 +26,8 @@
<file leaf-file-name="touch_screen.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="616" max-vertical-offset="1035">
<caret line="62" column="0" selection-start-line="62" selection-start-column="0" selection-end-line="62" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="571" max-vertical-offset="1080">
<caret line="54" column="22" selection-start-line="54" selection-start-column="22" selection-end-line="54" selection-end-column="22" />
<folding />
</state>
</provider>
@@ -36,11 +36,9 @@
<file leaf-file-name="screen_manager.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1620">
<caret line="21" column="31" selection-start-line="21" selection-start-column="31" selection-end-line="21" selection-end-column="31" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
<state vertical-scroll-proportion="0.0" vertical-offset="899" max-vertical-offset="1695">
<caret line="61" column="0" selection-start-line="61" selection-start-column="0" selection-end-line="61" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@@ -48,18 +46,18 @@
<file leaf-file-name="tracklist.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/tracklist.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="76" max-vertical-offset="495">
<caret line="27" column="47" selection-start-line="27" selection-start-column="47" selection-end-line="27" selection-end-column="47" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="495">
<caret line="24" column="52" selection-start-line="24" selection-start-column="52" selection-end-line="24" selection-end-column="52" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="list_view.py" pinned="false" current="false" current-in-tab="false">
<file leaf-file-name="list_view.py" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/list_view.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1290">
<caret line="50" column="0" selection-start-line="50" selection-start-column="0" selection-end-line="50" selection-end-column="0" />
<state vertical-scroll-proportion="0.59359604" vertical-offset="224" max-vertical-offset="1350">
<caret line="31" column="48" selection-start-line="31" selection-start-column="48" selection-end-line="31" selection-end-column="48" />
<folding>
<element signature="e#0#48#0" expanded="true" />
</folding>
@@ -67,14 +65,12 @@
</provider>
</entry>
</file>
<file leaf-file-name="screen_objects.py" pinned="false" current="true" current-in-tab="true">
<file leaf-file-name="screen_objects.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-1.2911694" vertical-offset="2821" max-vertical-offset="3735">
<caret line="152" column="21" selection-start-line="152" selection-start-column="21" selection-end-line="152" selection-end-column="21" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="3405">
<caret line="19" column="48" selection-start-line="19" selection-start-column="48" selection-end-line="19" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
@@ -82,11 +78,9 @@
<file leaf-file-name="main_screen.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="405" max-vertical-offset="1980">
<caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
<state vertical-scroll-proportion="0.0" vertical-offset="180" max-vertical-offset="1980">
<caret line="28" column="55" selection-start-line="28" selection-start-column="55" selection-end-line="28" selection-end-column="55" />
<folding />
</state>
</provider>
</entry>
@@ -106,10 +100,11 @@
<option value="$PROJECT_DIR$/touch_manager.py" />
<option value="$PROJECT_DIR$/touch_screen_backend.py" />
<option value="$PROJECT_DIR$/tracklist.py" />
<option value="$PROJECT_DIR$/touch_screen.py" />
<option value="$PROJECT_DIR$/main_screen.py" />
<option value="$PROJECT_DIR$/screen_manager.py" />
<option value="$PROJECT_DIR$/dynamic_background.py" />
<option value="$PROJECT_DIR$/screen_objects.py" />
<option value="$PROJECT_DIR$/screen_manager.py" />
<option value="$PROJECT_DIR$/touch_screen.py" />
<option value="$PROJECT_DIR$/list_view.py" />
</list>
</option>
@@ -146,6 +141,7 @@
<sortByType />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
@@ -166,7 +162,6 @@
</PATH>
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
@@ -337,7 +332,7 @@
</component>
<component name="ToolWindowManager">
<frame x="65" y="24" width="1301" height="744" extended-state="6" />
<editor active="true" />
<editor active="false" />
<layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
@@ -351,11 +346,11 @@
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32884902" sideWeight="0.49961567" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32884902" sideWeight="0.49961567" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="Vcs.Log.UiProperties">
@@ -380,16 +375,6 @@
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2205" max-vertical-offset="2940">
<caret line="147" column="70" selection-start-line="147" selection-start-column="70" selection-end-line="147" selection-end-column="70" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="975">
@@ -409,9 +394,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1470" max-vertical-offset="2775">
<caret line="98" column="45" selection-start-line="98" selection-start-column="45" selection-end-line="98" selection-end-column="45" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -419,9 +402,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1290">
<caret line="62" column="61" selection-start-line="62" selection-start-column="61" selection-end-line="62" selection-end-column="61" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -451,9 +432,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2190" max-vertical-offset="2775">
<caret line="146" column="36" selection-start-line="146" selection-start-column="36" selection-end-line="146" selection-end-column="36" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -461,9 +440,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="570" max-vertical-offset="1065">
<caret line="57" column="93" selection-start-line="57" selection-start-column="93" selection-end-line="57" selection-end-column="93" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -485,9 +462,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2610" max-vertical-offset="2775">
<caret line="174" column="33" selection-start-line="174" selection-start-column="33" selection-end-line="174" selection-end-column="33" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -495,9 +470,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="464" max-vertical-offset="1020">
<caret line="54" column="29" selection-start-line="54" selection-start-column="29" selection-end-line="54" selection-end-column="29" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -527,9 +500,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2190" max-vertical-offset="2490">
<caret line="146" column="30" selection-start-line="146" selection-start-column="30" selection-end-line="146" selection-end-column="30" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -537,9 +508,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="195" max-vertical-offset="540">
<caret line="13" column="25" selection-start-line="13" selection-start-column="25" selection-end-line="13" selection-end-column="25" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -562,9 +531,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1193" max-vertical-offset="2490">
<caret line="146" column="30" selection-start-line="146" selection-start-column="30" selection-end-line="146" selection-end-column="30" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -572,9 +539,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="360" max-vertical-offset="540">
<caret line="24" column="53" selection-start-line="24" selection-start-column="53" selection-end-line="24" selection-end-column="53" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -604,9 +569,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1193" max-vertical-offset="2490">
<caret line="146" column="30" selection-start-line="146" selection-start-column="30" selection-end-line="146" selection-end-column="30" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -614,9 +577,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="360" max-vertical-offset="540">
<caret line="24" column="53" selection-start-line="24" selection-start-column="53" selection-end-line="24" selection-end-column="53" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -646,9 +607,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="330" max-vertical-offset="450">
<caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -671,9 +630,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="330" max-vertical-offset="450">
<caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -696,9 +653,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="330" max-vertical-offset="450">
<caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -753,58 +708,59 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/dynamic_background.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.9517766" vertical-offset="0" max-vertical-offset="495">
<caret line="25" column="0" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="180" max-vertical-offset="1980">
<caret line="28" column="55" selection-start-line="28" selection-start-column="55" selection-end-line="28" selection-end-column="55" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="571" max-vertical-offset="1080">
<caret line="54" column="22" selection-start-line="54" selection-start-column="22" selection-end-line="54" selection-end-column="22" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1620">
<caret line="21" column="31" selection-start-line="21" selection-start-column="31" selection-end-line="21" selection-end-column="31" />
<folding>
<element signature="e#0#35#0" expanded="true" />
</folding>
<state vertical-scroll-proportion="0.0" vertical-offset="764" max-vertical-offset="1695">
<caret line="61" column="0" selection-start-line="61" selection-start-column="0" selection-end-line="61" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/tracklist.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="76" max-vertical-offset="495">
<caret line="27" column="47" selection-start-line="27" selection-start-column="47" selection-end-line="27" selection-end-column="47" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1980">
<caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/list_view.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1290">
<caret line="50" column="0" selection-start-line="50" selection-start-column="0" selection-end-line="50" selection-end-column="0" />
<folding>
<element signature="e#0#48#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="571" max-vertical-offset="1035">
<caret line="62" column="0" selection-start-line="62" selection-start-column="0" selection-end-line="62" selection-end-column="0" />
<caret line="24" column="52" selection-start-line="24" selection-start-column="52" selection-end-line="24" selection-end-column="52" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-1.2911694" vertical-offset="2821" max-vertical-offset="3735">
<caret line="152" column="21" selection-start-line="152" selection-start-column="21" selection-end-line="152" selection-end-column="21" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="3435">
<caret line="19" column="48" selection-start-line="19" selection-start-column="48" selection-end-line="19" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/list_view.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.59359604" vertical-offset="224" max-vertical-offset="1350">
<caret line="31" column="48" selection-start-line="31" selection-start-column="48" selection-end-line="31" selection-end-column="48" />
<folding>
<element signature="e#0#13#0" expanded="true" />
<element signature="e#0#48#0" expanded="true" />
</folding>
</state>
</provider>

View File

@@ -4,6 +4,8 @@ class DynamicBackground():
def __init__(self):
self.current=[0,0,0]
for x in range(0, 3):
self.current[x]=random.randint(0,255)
self.target=[0,0,0]
for x in range(0, 3):
self.target[x]=random.randint(0,255)

View File

@@ -3,16 +3,18 @@ import logging
import pygame
from .touch_manager import TouchManager
from .touch_manager import TouchEvent
from .screen_objects import *
logger = logging.getLogger(__name__)
class ListView():
def __init__(self, pos, size, base_size,fonts):
self.size = size
self.pos = pos
self.base_size = base_size
self.screen_objects = ScreenObjectsManager(self.base_size)
self.screen_objects = ScreenObjectsManager()
self.max_rows = self.size[1] / self.base_size
self.current_item = 0
self.fonts = fonts
@@ -21,14 +23,14 @@ class ListView():
self.scrollbar = False
self.set_list([])
def set_list(self, item_list):
self.list = item_list
self.list_size = len(item_list)
if self.max_rows < self.list_size:
self.scrollbar = True
self.screen_objects.add_scroll_bar("scrollbar", (self.pos[0]+self.size[0]-self.base_size,self.pos[1]), (self.base_size, self.size[1]),self.list_size,self.max_rows)
scroll_bar = ScrollBar((self.pos[0]+self.size[0]-self.base_size,self.pos[1]), (self.base_size, self.size[1]),self.list_size,self.max_rows)
self.screen_objects.add_touch_object("scrollbar", scroll_bar)
logger.error("hemen nao")
else:
self.scrollbar = False
self.load_new_item_position(0)
@@ -42,10 +44,13 @@ class ListView():
i = self.current_item
z = 0
if self.scrollbar:
x2 = self.pos[0] + self.size[0] - self.base_size
x2 = self.pos[0] + self.size[0]
width = self.size[0] - self.base_size
else:
width = self.size[0]
while i < self.list_size and z < self.max_rows:
self.screen_objects.add_touch_object(str(i),self.fonts['dejavusans'], self.list[i], (self.pos[0],self.pos[1]+self.base_size*z),(x2, self.pos[1]+self.base_size*(z+1)), (255, 255, 255))
logger.error("sartu naiz")
item = TouchAndTextItem(self.fonts['dejavusans'], self.list[i], (self.pos[0],self.pos[1]+self.base_size*z),(width, self.base_size))
self.screen_objects.add_touch_object(str(i), item)
i += 1
z += 1
@@ -62,7 +67,6 @@ class ListView():
if direction != 0:
self.move_to(direction)
def move_to(self, direction):
if direction == 1:
self.current_item += self.max_rows

View File

@@ -26,7 +26,7 @@ class MainScreen():
self.track = None
self.cache = cache
self.image = None
self.touch_text_manager = ScreenObjectsManager(self.base_size)
self.touch_text_manager = ScreenObjectsManager()
def update(self, screen):

View File

@@ -1,6 +1,6 @@
from .main_screen import MainScreen
from .touch_manager import TouchManager
from .screen_objects import ScreenObjectsManager
from .screen_objects import *
from .tracklist import Tracklist
from .dynamic_background import DynamicBackground
import pygame
@@ -29,23 +29,36 @@ class ScreenManager():
traceback.print_exc()
self.track = None
self.touch_manager = TouchManager(size)
self.screen_objects_manager = ScreenObjectsManager(self.base_size)
x = self.screen_objects_manager.add_touch_object("pause_play",self.fonts['dejavusans']," ll",(0,0), None, (255,255,255))
x = x + self.base_size / 2
x = self.screen_objects_manager.add_touch_object("random",self.fonts['dejavuserif'],u"\u2928",(x,0),None,(255,255,255))
x = x + self.base_size / 2
x = self.screen_objects_manager.add_touch_object("repeat",self.fonts['dejavuserif'],u"\u27F21",(x,0),None,(255,255,255))
self.screen_objects_manager = ScreenObjectsManager()
button = TouchAndTextItem(self.fonts['dejavusans']," ll",(0, 0), None)
self.screen_objects_manager.add_touch_object("pause_play", button)
x = button.get_right_pos() + self.base_size / 2
button = TouchAndTextItem(self.fonts['dejavuserif'],u"\u2928",(x,0),None)
self.screen_objects_manager.add_touch_object("random",button)
x = button.get_right_pos()
button = TouchAndTextItem(self.fonts['dejavuserif'],u"\u27F21",(x,0),None)
self.screen_objects_manager.add_touch_object("repeat",button)
x = button.get_right_pos() + self.base_size / 2
button = TouchAndTextItem(self.fonts['dejavusans'],"Mute",(x,0),None)
self.screen_objects_manager.add_touch_object("mute",button)
x = button.get_right_pos() + self.base_size / 2
'''
x = x + self.base_size / 2
x = self.screen_objects_manager.add_touch_object("mute",self.fonts['dejavusans'],"Mute",(x,0),None,(255,255,255))
x = x + self.base_size / 2
self.screen_objects_manager.add_progressbar("volume",self.fonts['dejavusans'],"100", (x,0), (self.size[0],self.base_size),100, True)
self.screen_objects_manager.get_touch_object("volume").set_value(self.core.playback.volume.get())
self.playback_state_changed(mopidy.core.PlaybackState.STOPPED, self.core.playback.state.get())
x = self.screen_objects_manager.add_touch_object("menu_main",self.fonts['dejavusans'],"Main",(0,self.base_size*7),None,(255,255,255))
'''
self.top_bar = pygame.Surface((self.size[0],self.base_size),pygame.SRCALPHA)
self.top_bar.fill((0,0,0,128))
self.playback_state_changed(mopidy.core.PlaybackState.STOPPED, self.core.playback.state.get())
self.down_bar = pygame.Surface((self.size[0], self.base_size),pygame.SRCALPHA)
self.down_bar.fill((0,0,0,128))
x = self.screen_objects_manager.add_touch_object("menu_main",self.fonts['dejavusans'],"Main",(0,self.base_size*7),None,(255,255,255))
def update(self):
surface = pygame.Surface(self.size)

View File

@@ -7,30 +7,22 @@ logger = logging.getLogger(__name__)
class ScreenObjectsManager():
def __init__(self, base_size):
self.base_size = base_size
def __init__(self):
self.touch_objects = {}
self.text_objects = {}
def add_object(self, key, font, text, pos, pos2, color):
self.text_objects[key] = TextItem(font, text, pos,pos2,color,self.base_size)
def add_object(self, key, add_object):
self.text_objects[key] = add_object
def get_object(self, key):
return self.text_objects[key]
def add_touch_object(self, key, font, text, pos, pos2, color):
self.touch_objects[key] = TouchAndTextItem(font, text, pos, pos2, color, self.base_size)
return self.touch_objects[key].get_right_pos()
def add_touch_object(self, key, add_object):
self.touch_objects[key] = add_object
def get_touch_object(self,key):
def get_touch_object(self, key):
return self.touch_objects[key]
def add_progressbar(self, key, font, text, pos, pos2, max,value_text):
self.touch_objects[key] = Progressbar(font, text,pos,pos2,max,self.base_size,value_text)
def add_scroll_bar(self, key, pos, size, max, items_on_screen):
self.touch_objects[key] = ScrollBar(pos,size,max,items_on_screen)
def render(self, surface):
for key in self.text_objects:
self.text_objects[key].update()
@@ -40,11 +32,11 @@ class ScreenObjectsManager():
self.touch_objects[key].render(surface)
def get_touch_objects_in_pos(self, pos):
objects = []
touched_objects = []
for key in self.touch_objects:
if self.touch_objects[key].is_pos_inside(pos):
objects.append(key)
return objects
touched_objects.append(key)
return touched_objects
def clear(self, mantain):
if mantain is not None:
@@ -56,17 +48,14 @@ class ScreenObjectsManager():
class BaseItem():
def __init__(self,pos,pos2):
def __init__(self, pos, size):
self.pos = pos
self.pos2 = pos2
self.size=[0,0]
self.size[0] = self.pos2[0] - self.pos[0]
self.size[1] = self.pos2[1] - self.pos[1]
self.rect = pygame.Rect(0,0,self.size[0],self.size[1])
self.rect_in_pos = pygame.Rect(self.pos[0],self.pos[1],self.size[0],self.size[1])
self.size = size
self.rect = pygame.Rect(0, 0, self.size[0], self.size[1])
self.rect_in_pos = pygame.Rect(self.pos[0], self.pos[1], self.size[0], self.size[1])
def get_right_pos(self):
return self.pos2[0]
return self.pos[0] + self.size[0]
def update(self):
pass
@@ -74,28 +63,29 @@ class BaseItem():
class TextItem(BaseItem):
def __init__(self, font, text, pos, pos2, color, text_size):
if pos2 is not None:
BaseItem.__init__(self,pos,pos2)
self.text_size = text_size
def __init__(self, font, text, pos, size):
self.font = font
self.text = text
self.color = color
self.color = (255, 255, 255)
self.box = self.font.render(text, True, self.color)
if pos2 is not None:
if self.pos[0] + self.box.get_rect().width > pos2[0]:
if size is not None:
BaseItem.__init__(self, pos, size)
else:
BaseItem.__init__(self, pos, self.box.get_rect().size)
if size is not None:
if self.pos[0] + self.box.get_rect().width > pos[0] + size[0]:
self.fit_horizontal = False
self.text = self.text + " "
self.text += " "
self.original_text = self.text
self.step = 0
else:
self.fit_horizontal = True
if self.pos[1] + self.box.get_rect().height > pos2[1]:
if self.pos[1] + self.box.get_rect().height > pos[1] + size[1]:
self.fit_vertical = False
else:
self.fit_vertical = True
else:
BaseItem.__init__(self,pos,(pos[0]+self.box.get_rect().width,pos[1]+self.box.get_rect().height))
BaseItem.__init__(self, pos, (pos[0] + self.box.get_rect().width, pos[1] + self.box.get_rect().height))
self.fit_horizontal = True
self.fit_vertical = True
@@ -108,7 +98,7 @@ class TextItem(BaseItem):
new_text = new_text + self.text[:1]
self.text = new_text
else:
self.step = self.step + 1
self.step += 1
elif self.step > 5:
self.step = 0
new_text = self.text[1:]
@@ -117,24 +107,24 @@ class TextItem(BaseItem):
else:
self.step += 1
def render(self,surface):
def render(self, surface):
if self.fit_horizontal:
self.box
else:
self.box = self.font.render(self.text, True, self.color)
surface.blit(self.box,self.pos,area=self.rect)
surface.blit(self.box, self.pos, area=self.rect)
def set_text(self, text, same_size):
if same_size:
TextItem.__init__(self, self.font, text, self.pos, None, self.color, self.text_size)
TextItem.__init__(self, self.font, text, self.pos, None)
else:
TextItem.__init__(self, self.font, text, self.pos, self.pos2, self.color, self.text_size)
TextItem.__init__(self, self.font, text, self.pos, self.size)
class TouchObject(BaseItem):
def __init__(self,pos,pos2):
BaseItem.__init__(self,pos,pos2)
def __init__(self, pos, size):
BaseItem.__init__(self, pos, size)
self.active = False
def is_pos_inside(self, pos):
@@ -146,45 +136,35 @@ class TouchObject(BaseItem):
class TouchAndTextItem(TouchObject, TextItem):
def __init__(self, font, text, pos, pos2, color,text_size):
TextItem.__init__(self, font, text, pos, pos2, color,text_size)
TouchObject.__init__(self, pos, self.pos2)
def __init__(self, font, text, pos, size):
TextItem.__init__(self, font, text, pos, size)
TouchObject.__init__(self, pos, self.size)
def update(self):
TextItem.update(self)
def set_active(self, active):
self.active = active
if active:
color = (0,150,255)
else:
color = (255,255,255)
TextItem.__init__(self.font,self.text,self.pos,self.pos2,color,self.text_size)
class Progressbar(TouchObject):
class Progressbar(TouchObject, TextItem):
def __init__(self,font,text, pos, pos2, max,size, value_text):
BaseItem.__init__(self, pos, pos2)
logger.error(pos2)
def __init__(self, font, text, pos,size, max_value, value_text):
BaseItem.__init__(self, pos, size)
self.value = 0
self.max = max
self.back_color = (0,0,0,128)
self.main_color = (0,150,255)
self.max = max_value
self.back_color = (0, 0, 0, 128)
self.main_color = (0, 150, 255)
self.surface = pygame.Surface(self.size, pygame.SRCALPHA)
self.surface.fill(self.back_color)
self.value_text = value_text
if value_text:
self.text = TextItem(font,str(self.max),pos,None,(255,255,255),size)
self.text.set_text(str(self.value),True)
self.text = TextItem(font, str(self.max), pos, None, (255, 255, 255), size)
self.text.set_text(str(self.value), True)
else:
self.text = TextItem(font,text,pos,None,(255,255,255),size)
self.text.pos = (self.pos[0] + self.size[0] / 2 - self.text.size[0] /2,self.text.pos[1])
self.text = TextItem(font, text, pos, None)
self.text.pos = (self.pos[0] + self.size[0] / 2 - self.text.size[0] / 2, self.text.pos[1])
def update(self):
pass
def render(self, surface):
surface.blit(self.surface, self.pos)
self.text.render(surface)
@@ -196,7 +176,7 @@ class Progressbar(TouchObject, TextItem):
self.set_text(str(self.value))
self.surface.fill(self.back_color)
pos_pixel = value * self.size[0] / self.max
rect = pygame.Rect(0,0,pos_pixel,self.size[1])
rect = pygame.Rect(0,0, pos_pixel, self.size[1])
self.surface.fill(self.main_color, rect)
def get_pos_value(self, pos):
@@ -204,26 +184,26 @@ class Progressbar(TouchObject, TextItem):
return x * self.max / self.size[0]
def set_text(self, text):
self.text.set_text(text , True)
self.text.set_text(text, True)
class ScrollBar(TouchObject):
def __init__(self, pos, size, max, items_on_screen):
BaseItem.__init__(self, pos, (pos[0]+size[0],pos[1]+size[1]))
def __init__(self, pos, size, max_value, items_on_screen):
BaseItem.__init__(self, pos, (pos[0]+size[0], pos[1]+size[1]))
self.pos = pos
self.size = size
self.max = max
self.max = max_value
self.items_on_screen = items_on_screen
self.current_item = 0
self.back_bar = pygame.Surface(self.size)
self.back_bar.fill((255,255,255))
self.back_bar.fill((255, 255, 255))
self.bar_pos = 0
if self.max < 1:
self.barsize = self.size[1]
self.bar_size = self.size[1]
else:
self.barsize = math.ceil(float(self.items_on_screen)/float(self.max) * float(self.size[1]))
self.bar = pygame.Surface((self.size[0],self.barsize))
self.bar_size = math.ceil(float(self.items_on_screen)/float(self.max) * float(self.size[1]))
self.bar = pygame.Surface((self.size[0], self.bar_size))
self.bar.fill((255, 255, 0))
def render(self, surface):
@@ -233,7 +213,7 @@ class ScrollBar(TouchObject):
def touch(self, pos):
if pos[1] < self.pos[1]+self.bar_pos:
return -1
elif pos[1] > self.pos[1] + self.bar_pos + self.barsize:
elif pos[1] > self.pos[1] + self.bar_pos + self.bar_size:
return 1
else:
return 0

View File

@@ -68,4 +68,7 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener):
self.screen_manager.playback_state_changed(old_state, new_state)
def tracklist_changed(self):
try:
self.screen_manager.tracklist_changed()
except:
traceback.print_exc()