Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
paule32 committed Jun 8, 2024
1 parent f735953 commit 2301b99
Show file tree
Hide file tree
Showing 3 changed files with 128 additions and 2 deletions.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ To download the Windows 10 64-Bit Professional based Application, you can visit:
[Application](https://kallup.net/HelpNDoc/pyapp/)

Here are some out dated screen shoot on running the application:

For the Commodore C-64 TrueType Font, visit: [C64Font](https://style64.org/release/c64-truetype-v1.2.1-style)

Preview Front-Window A2:
![Preview](src/img/screen010.png)

Expand All @@ -21,6 +21,9 @@ Preview Design-Window A5:
Preview Design-Window A6:
![Preview](src/img/screen014.png)

Preview Design-Window A7:
![Preview](src/img/screen015.png)

Preview Front-Window 1:
![Preview](src/img/screen00A.png)

Expand Down
Binary file added src/img/screen015.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
125 changes: 124 additions & 1 deletion src/observer.py
Original file line number Diff line number Diff line change
Expand Up @@ -3205,6 +3205,128 @@ def shorten_string(self, s, maxlength):
else:
return s[:maxlength-3]+"..."

class myDataTabWidget(QWidget):
class MaxLengthDelegate(QStyledItemDelegate):
def __init__(self, max_length, parent=None):
super().__init__(parent)
self.max_length = max_length

def createEditor(self, parent, option, index):
editor = QLineEdit(parent)
editor.setMaxLength(self.max_length)
return editor

class ComboBoxDelegate(QStyledItemDelegate):
def __init__(self, items, parent=None):
super().__init__(parent)
self.items = items

def createEditor(self, parent, option, index):
editor = QComboBox(parent)
editor.addItems(self.items)
return editor

def setEditorData(self, editor, index):
super().setEditorData(editor, index)
editor.showPopup()

class CheckBoxDelegate(QStyledItemDelegate):
def createEditor(self, parent, option, index):
editor = QWidget(parent)
layout = QHBoxLayout(editor)
layout.setContentsMargins(0, 0, 0, 0)
check_box = QCheckBox(parent)
layout.addWidget(check_box)
check_box.setTristate(False)
check_box.setChecked(index.model().data(index, Qt.EditRole) == "YES")
editor.setLayout(layout)
return editor

def setEditorData(self, editor, index):
check_box = editor.findChild(QCheckBox)
if check_box:
value = index.model().data(index, Qt.EditRole)
check_box.setChecked(value == "YES")

def setModelData(self, editor, model, index):
check_box = editor.findChild(QCheckBox)
if check_box:
value = "YES" if check_box.isChecked() else "NO"
model.setData(index, value, Qt.EditRole)

def updateEditorGeometry(self, editor, option, index):
editor.setGeometry(option.rect)

def __init__(self,parent):
super().__init__()
self.parent = parent

self.vlayout = QVBoxLayout()
self.hlayout = QHBoxLayout()

self.top_widget = QWidget()
self.top_widget.setStyleSheet("background-color: gray;")
self.top_widget.setMinimumHeight(62)
self.top_widget.setMaximumHeight(62)

self.vlayout.addWidget(self.top_widget)
#self.vlayout.addStretch()

###
font = QFont("Arial", 10)

self.table_btn_add = QPushButton("Add Table Field")
self.table_btn_remove = QPushButton("Remove Field")
self.table_btn_clearall = QPushButton("Clear Table Dash")

self.table_btn_add.setMinimumHeight(29)
self.table_btn_add.setFont(font)
#
self.table_btn_remove.setMinimumHeight(29)
self.table_btn_remove.setFont(font)
#
self.table_btn_clearall.setMinimumHeight(29)
self.table_btn_clearall.setFont(font)

self.hlayout.addWidget(self.table_btn_add)
self.hlayout.addWidget(self.table_btn_remove)
self.hlayout.addWidget(self.table_btn_clearall)

###
self.rlayout = QHBoxLayout()
self.table_widget = QTableWidget(3,5)
self.table_widget.setHorizontalHeaderLabels(["Name","Type","Len","Prec","PrKey"])

horizontal_header = self.table_widget.horizontalHeader()
vertical_header = self.table_widget.verticalHeader()

horizontal_header.setStyleSheet("QHeaderView::section { background-color: lightgreen; color: black; font-weight: bold; }")
vertical_header .setStyleSheet("QHeaderView::section { background-color: lightblue; color: black; font-weight: bold; }")


# Delegate für die erste Spalte setzen
self.delegate = self.MaxLengthDelegate(30, self.table_widget)
self.table_widget.setItemDelegateForColumn(0, self.delegate)

self.combo_items = ["Option 1", "Option 2", "Option 3"]

# Delegate für die zweite Spalte setzen
self.combo_box_delegate = self.ComboBoxDelegate(self.combo_items, self.table_widget)
self.table_widget.setItemDelegateForColumn(1, self.combo_box_delegate)

# Delegate für die dritte Spalte setzen
self.check_box_delegate = self.CheckBoxDelegate(self.table_widget)
self.table_widget.setItemDelegateForColumn(4, self.check_box_delegate)


self.rlayout.addWidget(self.table_widget)

self.vlayout.addLayout(self.hlayout)
self.vlayout.addLayout(self.rlayout)
self.vlayout.addStretch()

self.setLayout(self.vlayout)

class FileWatcherGUI(QDialog):
def __init__(self):
super().__init__()
Expand Down Expand Up @@ -4240,9 +4362,10 @@ def handleDBase(self):
self.dbase_tabs_editors_widget = QWidget()
self.dbase_tabs_designs_widget = QWidget()
self.dbase_tabs_builder_widget = QWidget()
self.dbase_tabs_datatab_widget = QWidget()
self.dbase_tabs_datatab_widget = myDataTabWidget(self)
self.dbase_tabs_reports_widget = QWidget()
#
#
self.dbase_tabs.addTab(self.dbase_tabs_project_widget, "dBASE Project")
self.dbase_tabs.addTab(self.dbase_tabs_editors_widget, "dBASE Editor")
self.dbase_tabs.addTab(self.dbase_tabs_designs_widget, "dBASE Designer")
Expand Down

0 comments on commit 2301b99

Please sign in to comment.