Files
Newton-Editor/plugins/code/code_minimap/code_minimap.py

50 lines
1.1 KiB
Python
Raw Normal View History

2026-01-04 11:42:27 -06:00
# Python imports
# Lib imports
import gi
gi.require_version('GtkSource', '4')
from gi.repository.GtkSource import Map
from gi.repository import Pango
2026-01-04 11:42:27 -06:00
# Application imports
class CodeMiniMap(Map):
2026-01-04 11:42:27 -06:00
def __init__(self):
super(CodeMiniMap, self).__init__()
2026-01-04 11:42:27 -06:00
self._setup_styling()
self._setup_signals()
self._subscribe_to_events()
self._load_widgets()
self.show()
2026-01-04 11:42:27 -06:00
def _setup_styling(self):
ctx = self.get_style_context()
ctx.add_class("mini-view")
self.set_hexpand(False)
self._set_font_desc()
2026-01-04 11:42:27 -06:00
def _setup_signals(self):
...
def _subscribe_to_events(self):
event_system.subscribe(f"set-mini-view", self.set_smini_view)
def _load_widgets(self):
...
def _set_font_desc(self):
default_font = 'Monospace 1'
desc = Pango.FontDescription(default_font)
desc.set_size(Pango.SCALE) # Set size to 1pt
desc.set_family('BuilderBlocks,' + desc.get_family())
self.set_property('font-desc', desc)
2026-01-04 11:42:27 -06:00
def set_smini_view(self, source_view):
self.set_view(source_view)