code: def __init__(self, pgdf: PandasGuiDataFrameStore):
      super().__init__()
  
      self.pgdf = PandasGuiDataFrameStore.cast(pgdf)
  
      self.setWindowTitle("Graph Builder")
  
      # Dropdown to select plot type
      self.type_picker = TypePicker()
  
      self.error_console = QtWidgets.QTextEdit()
      self.error_console.setReadOnly(True)
      self.error_console_wrapper = CollapsiblePanel("Reshaper Console")
      self.error_console_wrapper.setContent(self.error_console)
      self.error_console_wrapper.setChecked(False)
  
      for schema in schemas:
          icon = QtGui.QIcon(schema.icon_path)
          text = schema.label
          item = QtWidgets.QListWidgetItem(icon, text)
          self.type_picker.addItem(item)
  
      self.func_ui = FuncUi(pgdf=pgdf, schema=Schema())
  
      # Layouts
      self.plot_splitter = QtWidgets.QSplitter(Qt.Horizontal)
  
      self.plot_splitter.addWidget(self.func_ui)
  
      self.plot_splitter.setStretchFactor(1, 1)
  
      self.layout = QtWidgets.QVBoxLayout()
      self.layout.addWidget(self.type_picker)
      self.layout.addWidget(self.plot_splitter)
      self.layout.addWidget(self.error_console_wrapper)
      self.setLayout(self.layout)
  
      # Size policies
      self.func_ui.setSizePolicy(
          QtWidgets.QSizePolicy.Expanding,
          QtWidgets.QSizePolicy.Expanding,
      )
      self.plot_splitter.setSizePolicy(
          QtWidgets.QSizePolicy.Expanding,
          QtWidgets.QSizePolicy.Expanding,
      )
      self.error_console.setSizePolicy(
          QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum
      )
  
      # Initial selection
      self.type_picker.setCurrentRow(0)
      self.on_type_changed()
  
      # Signals
      self.type_picker.itemSelectionChanged.connect(
          self.on_type_changed
      )
      self.func_ui.finished.connect(self.on_dragger_finished)
      self.func_ui.saving.connect(self.on_dragger_saving)
  
file_path: PandasGUI/pandasgui/widgets/reshaper.py
imports: import sys
  from PyQt5.QtWidgets import QStyleOptionViewItem
  import pandasgui
  import os
  from PyQt5 import QtCore, QtGui, QtWidgets
  from PyQt5.QtCore import Qt
  from pandasgui.store import PandasGuiDataFrameStore
  from pandasgui.widgets.collapsible_panel import CollapsiblePanel
  from pandasgui.widgets.func_ui import FuncUi, Schema
  import logging
  from pandasgui.widgets.grapher import TypePicker
  from pandasgui import jotly
label_desc: Use image node_id 1 to create a new Reshaper object from inherited base classes: QtWidgets with example: obj = Reshaper(pgdf)