# Path: src/model/resources_cache.py
# class ResourcesCache(object):
#     _resources = {}
# 
#     @staticmethod
#     def get(name):
#         return ResourcesCache._resources[name]
# 
#     @staticmethod
#     def register_resource(name, resource):
#         ResourcesCache._resources[name] = resource
# 
#     @staticmethod
#     def dispose():
#         ResourcesCache._resources.clear()


from PyQt5.QtCore import pyqtSignal, Qt, QSize
from PyQt5.QtGui import QColor, QIcon, QPixmap
from PyQt5.QtWidgets import QWidget, QHBoxLayout, QVBoxLayout, QButtonGroup, \
    QStackedWidget, QLabel, \
    QListWidget, QPushButton
from src.model.resources_cache import ResourcesCache

        tools_options_sublayout.addWidget(QLabel("Tools Options"))

        tools_options_sublayout.addWidget(self._toolsOptionsPanel)

        self._toolbarSubPanel.addWidget(tools_control_panel)

        # 2. Initialize Inks Control Panel ------------------------------------

        self._inksListWidget = QListWidget()

        self._inksListWidget.currentRowChanged.connect(
            lambda v: self._inksOptionsPanel.setCurrentIndex(v))

        self._inksListWidget.setMaximumSize(QSize(150, 200))

        self._inksListWidget.itemClicked.connect(self._on_ink_list_item_clicked)

        # Inks Subpanel -------------------------------------------------------

        inks_control_panel = QWidget()

        inks_control_panel_layout = QHBoxLayout()

        inks_control_panel.setLayout(inks_control_panel_layout)

        inks_control_panel_layout.setAlignment(Qt.AlignLeft)

        # Inks List -----------------------------------------------------------


# Path: src/model/resources_cache.py
# class ResourcesCache(object):
#     _resources = {}
# 
#     @staticmethod
#     def get(name):
#         return ResourcesCache._resources[name]
# 
#     @staticmethod
#     def register_resource(name, resource):
#         ResourcesCache._resources[name] = resource
# 
#     @staticmethod
#     def dispose():
#         ResourcesCache._resources.clear()


# Path: src/view/toolbar_widget.py
from PyQt5.QtCore import pyqtSignal, Qt, QSize
from PyQt5.QtGui import QColor, QIcon, QPixmap
from PyQt5.QtWidgets import QWidget, QHBoxLayout, QVBoxLayout, QButtonGroup, \
    QStackedWidget, QLabel, \
    QListWidget, QPushButton
from src.model.resources_cache import ResourcesCache


        tools_options_sublayout.addWidget(QLabel("Tools Options"))

        tools_options_sublayout.addWidget(self._toolsOptionsPanel)

        self._toolbarSubPanel.addWidget(tools_control_panel)

        # 2. Initialize Inks Control Panel ------------------------------------

        self._inksListWidget = QListWidget()

        self._inksListWidget.currentRowChanged.connect(
            lambda v: self._inksOptionsPanel.setCurrentIndex(v))

        self._inksListWidget.setMaximumSize(QSize(150, 200))

        self._inksListWidget.itemClicked.connect(self._on_ink_list_item_clicked)

        # Inks Subpanel -------------------------------------------------------

        inks_control_panel = QWidget()

        inks_control_panel_layout = QHBoxLayout()

        inks_control_panel.setLayout(inks_control_panel_layout)

        inks_control_panel_layout.setAlignment(Qt.AlignLeft)

        # Inks List -----------------------------------------------------------


        inks_list_sublayout = QVBoxLayout()