source: lliurex-store/trunk/fuentes/lliurex-store-gui/PopupMenu.py @ 3649

Last change on this file since 3649 was 3649, checked in by hectorgh, 4 years ago

wip

File size: 4.0 KB
Line 
1import gi
2gi.require_version('Gtk', '3.0')
3
4from gi.repository import Gtk,GdkPixbuf,Gdk
5
6import Core
7
8class PopupMenu(Gtk.EventBox):
9
10        def __init__(self):
11
12
13                self.core=Core.Core.get_core()
14                ui_path=self.core.ui_path
15               
16                popup_menu_x=400
17                popup_menu_y=765
18                shadow_size=50
19               
20                Gtk.EventBox.__init__(self)
21                self.set_valign(Gtk.Align.START)
22                self.set_halign(Gtk.Align.START)
23               
24                builder=Gtk.Builder()
25                builder.add_from_file(ui_path)
26               
27                self.revealer=Gtk.Revealer()
28                self.revealer.set_transition_type(Gtk.RevealerTransitionType.SLIDE_LEFT)
29                self.revealer.set_transition_duration(500)
30               
31                self.popup_image=builder.get_object("popup_image")
32                self.popup_menu=builder.get_object("popup_box")
33                popup_menu_left=builder.get_object("popup_box_left")
34                self.popup_shadow=builder.get_object("popup_box_right")
35                eventbox=builder.get_object("eventbox1")
36                eventbox.add_events(Gdk.EventMask.BUTTON_PRESS_MASK)
37                eventbox.connect("button-press-event",self.hide_revealer)
38               
39                #self.popup_menu.set_size_request(popup_menu_x,popup_menu_y)
40                #self.popup_menu.set_valign(Gtk.Align.FILL)
41                #self.popup_menu.set_halign(Gtk.Align.START)
42               
43               
44                label1=builder.get_object("label1")
45                label2=builder.get_object("label2")
46                label3=builder.get_object("label3")
47                label4=builder.get_object("label4")
48                label5=builder.get_object("label5")
49                label6=builder.get_object("label6")
50                label7=builder.get_object("label7")
51               
52               
53                button2=builder.get_object("button2")
54                button3=builder.get_object("button3")
55                button4=builder.get_object("button4")
56                button5=builder.get_object("button5")
57                button6=builder.get_object("button6")
58                button7=builder.get_object("button7")
59                self.home_button=builder.get_object("button1")
60               
61                separator=builder.get_object("separator1")
62               
63                decorator_bar=builder.get_object("decoration_bar_box")
64               
65               
66               
67                '''
68                self.popup_ol=Gtk.Overlay()
69               
70                b=Gtk.Button()
71                b.set_size_request(popup_menu_x+shadow_size,popup_menu_y+shadow_size)
72                b.set_border_width(shadow_size)
73                b.set_name("TRICK_BUTTON")
74                b.set_valign(Gtk.Align.FILL)
75                b.set_halign(Gtk.Align.START)
76               
77                self.revealer.add(self.popup_ol)
78                self.popup_ol.add(b)
79                self.popup_ol.add_overlay(self.popup_menu)
80               
81                image=Gtk.Image.new_from_file("/usr/share/backgrounds/lliurex-default-background.png")
82                pixbuf=image.get_pixbuf()
83                original_ratio=pixbuf.get_width(),pixbuf.get_height()
84                pixbuf=pixbuf.scale_simple(400,225,GdkPixbuf.InterpType.BILINEAR)
85                self.popup_image.set_from_pixbuf(pixbuf)
86               
87                '''
88               
89                image=Gtk.Image.new_from_file("lliurex-default-background.png")
90                pixbuf=image.get_pixbuf()
91                original_ratio=pixbuf.get_width(),pixbuf.get_height()
92                pixbuf=pixbuf.scale_simple(400,225,GdkPixbuf.InterpType.BILINEAR)
93                self.popup_image.set_from_pixbuf(pixbuf)
94               
95               
96                self.revealer.add(self.popup_menu)
97               
98                self.add(self.revealer)
99               
100               
101                self.popup_menu.set_name("TRANSPARENT")
102                self.popup_shadow.set_name("POPUP_SHADOW_LEFTRIGHT")
103                self.revealer.set_name("TRANSPARENT")
104                popup_menu_left.set_name("DROPMENU")
105               
106                label1.set_name("POPUP_FONT")
107                label2.set_name("POPUP_FONT")
108                label3.set_name("POPUP_FONT")
109                label4.set_name("POPUP_FONT")
110                label5.set_name("POPUP_FONT")
111                label6.set_name("POPUP_FONT")
112                label7.set_name("POPUP_FONT")
113               
114                button2.set_name("SECTION_BOX")
115                button3.set_name("SECTION_BOX")
116                button4.set_name("SECTION_BOX")
117                button5.set_name("SECTION_BOX")
118                button6.set_name("SECTION_BOX")
119                button7.set_name("SECTION_BOX")
120                self.home_button.set_name("SECTION_BOX")
121               
122                separator.set_name("SECTION_DIVIDER")
123                decorator_bar.set_name("DECORATOR_BAR")
124               
125                self.home_button.connect("clicked",self.go_home)
126               
127               
128        #def init
129       
130
131        def hide_revealer(self,widget,event):
132               
133                self.revealer.set_reveal_child(False)
134               
135        #def hide_revealer
136       
137        def go_home(self,widget):
138               
139                self.core.main_window.location_label.set_text("Home")
140                self.core.main_window.stack.set_visible_child_name("main")
141                # Forcing main_eb_clicked call to hide both popup menu and fade_box
142                self.core.main_window.main_eb_clicked(None,None)
143                self.core.main_window.stack.set_transition_type(Gtk.RevealerTransitionType.CROSSFADE)
144               
145        #def go_home
146
147#class PopupMenu
Note: See TracBrowser for help on using the repository browser.