Skip to content

Commit 1c6dc9d

Browse files
UrtsiSantsilw64
authored andcommitted
Library: Port 'Tab View' to Python (#737)
1 parent c230aa8 commit 1c6dc9d

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

src/Library/demos/Tab View/main.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import gi
2+
3+
gi.require_version("Gtk", "4.0")
4+
gi.require_version("Adw", "1")
5+
from gi.repository import Gtk, Adw
6+
import workbench
7+
8+
tab_view: Adw.TabBar = workbench.builder.get_object("tab_view")
9+
button_new_tab: Gtk.Button = workbench.builder.get_object("button_new_tab")
10+
overview: Adw.TabOverview = workbench.builder.get_object("overview")
11+
button_overview: Gtk.Button = workbench.builder.get_object("button_overview")
12+
tab_count = 1
13+
14+
overview.connect("create-tab", lambda _: add_page())
15+
16+
button_overview.connect("clicked", lambda _: overview.set_open(True))
17+
18+
button_new_tab.connect("clicked", lambda _: add_page())
19+
20+
21+
def add_page():
22+
global tab_count
23+
title = f"Tab {tab_count}"
24+
page = create_page(title)
25+
tab_page = tab_view.append(page)
26+
tab_page.set_title(title)
27+
tab_page.set_live_thumbnail(True)
28+
29+
tab_count += 1
30+
return tab_page
31+
32+
33+
def create_page(title):
34+
page = Adw.StatusPage(
35+
title=title,
36+
vexpand=True,
37+
)
38+
return page

0 commit comments

Comments
 (0)