Add 'UI/UI_color.py'
This commit is contained in:
parent
3ec864ea92
commit
2c3c559241
1 changed files with 61 additions and 0 deletions
61
UI/UI_color.py
Normal file
61
UI/UI_color.py
Normal file
|
@ -0,0 +1,61 @@
|
|||
# THIS FILE IS A PART OF VCStudio
|
||||
# PYTHON 3
|
||||
|
||||
# This a console project manager.
|
||||
|
||||
import os
|
||||
import math
|
||||
|
||||
# GTK module ( Graphical interface
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk
|
||||
import cairo
|
||||
|
||||
# Own modules
|
||||
from settings import settings
|
||||
from settings import talk
|
||||
|
||||
def get_table():
|
||||
|
||||
# This function will give a whole table of colors from a theme. So there will
|
||||
# be no need to read from the theme.data file every time we need a color of
|
||||
# somethings. It would've been stupid. So we load all the colors into RAM
|
||||
# at this stage. Similar stuff should be done with talk.text() i guess.
|
||||
|
||||
# First let's find what is actually the theme we are using.
|
||||
try:
|
||||
data = open("settings/themes/"+settings.read("Theme")+"/theme.data")
|
||||
except:
|
||||
# If by any change it fails to read the theme from the Theme setting
|
||||
# it will use the Default theme.
|
||||
data = open("settings/themes/Default/theme.data")
|
||||
settings.write("Theme", "Default")
|
||||
|
||||
data = data.read()
|
||||
data = data.split("\n")
|
||||
|
||||
# Parsing
|
||||
ret = {}
|
||||
for d in data:
|
||||
if d:
|
||||
name = d.split(" = ")[0]
|
||||
color = d.split(" = ")[1].split(",")
|
||||
c = []
|
||||
for co in color:
|
||||
try:
|
||||
c.append(float(co))
|
||||
except:
|
||||
c.append(0.0)
|
||||
color = c
|
||||
ret[name] = color
|
||||
# Returning
|
||||
return ret
|
||||
|
||||
def set(layer, win, color):
|
||||
# One line code less to setup a color each time LOL
|
||||
try:
|
||||
r,g,b,a = win.color[color]
|
||||
layer.set_source_rgba(r,g,b,a)
|
||||
except:
|
||||
layer.set_source_rgba(1,0,1,1)
|
Loading…
Reference in a new issue