Modifying .pro files config, etc.

This commit is contained in:
mlong 2021-03-03 16:49:12 -06:00
parent c4badd2137
commit 4a75cc0022
13 changed files with 368 additions and 389 deletions

6
.gitignore vendored
View File

@ -1,3 +1,7 @@
AppleSAWS.pro.user*
disk-images/*
.qmake.stash
Makefile
src/Makefile*
src/debug/
src/release

View File

@ -1,220 +1,11 @@
QT += core gui printsupport
CONFIG += c++11
MOC_DIR = ./.build
UI_DIR = ./.build
OBJECTS_DIR = ./.build
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = AppleSAWS
TEMPLATE = app
INCLUDEPATH += src/
INCLUDEPATH += src/relocatablefile
INCLUDEPATH += src/diskfiles
INCLUDEPATH += src/diskfiles/dos33
INCLUDEPATH += src/util
INCLUDEPATH += src/applesoftfile
INCLUDEPATH += src/intbasic
INCLUDEPATH += src/binaryfile
INCLUDEPATH += src/textfile
INCLUDEPATH += src/ui/viewers
INCLUDEPATH += src/imported
INCLUDEPATH += src/internals
INCLUDEPATH += src/ui/diskexplorer/
INCLUDEPATH += src/ui/widgets/
INCLUDEPATH += src/ui
INCLUDEPATH += src/memory
INCLUDEPATH += src/memory/roles
INCLUDEPATH += src/sequence
INCLUDEPATH += src/ui/central
include(./ads.pri)
DEFINES += WS_VIDEO
SOURCES += \
src/diskfiles/dos33/dos33disktreeview.cpp \
src/diskfiles/rawdiskimage.cpp \
src/intbasic/IntBasicFile.cxx \
src/main.cpp \
src/diskfiles/dos33/dos33diskimage.cxx \
src/diskfiles/dos33/sector.cxx \
src/diskfiles/dos33/vtoc.cxx \
src/diskfiles/dos33/catalogsector.cxx \
src/diskfiles/dos33/tracksectorlist.cxx \
src/diskfiles/dos33/filedescriptiveentry.cxx \
src/diskfiles/dos33/genericfile.cxx \
src/diskfiles/tspair.cpp \
src/diskfiles/dos33/dos33imagemodel.cpp \
src/diskfiles/dos33/dos33treeitem.cpp \
src/memory/attributedmemory.cpp \
src/memory/memorycell.cpp \
src/memory/memrole.cpp \
src/memory/roles/role_asm_opcode.cpp \
src/memory/roles/role_asm_operand.cpp \
src/sequence/sequenceevent.cpp \
src/sequence/sequenceeventlist.cpp \
src/sequence/sequenceeventlistwidget.cpp \
src/sequence/sequenceoutputview.cpp \
src/sequence/sequencetool.cpp \
src/sequence/sequencetoolbox.cpp \
src/sequence/sequenceviewer.cpp \
src/sequence/textblockuserdata.cpp \
src/ui/central/centralappwindow.cpp \
src/ui/central/mainapptoolbar.cpp \
src/ui/diskexplorer/catalogsectorview.cpp \
src/ui/diskexplorer/tslistview.cpp \
src/ui/diskexplorer/viewwidgetstack.cpp \
src/ui/diskexplorer/vtocview.cpp \
src/ui/startupdialog.cpp \
src/ui/viewers/intbasicfileviewer.cxx \
src/ui/widgets/notesdialog.cpp \
src/util/applestring.cxx \
src/applesoftfile/applesoftfile.cxx \
src/applesoftfile/applesofttoken.cxx \
src/applesoftfile/applesoftformatter.cxx \
src/binaryfile/disassembler.cxx \
src/binaryfile/binaryfile.cxx \
src/textfile/textfile.cxx \
src/ui/catalogwidget.cxx \
src/ui/viewers/hiresviewwidget.cxx \
src/ui/viewers/applesoftfileviewer.cxx \
src/ui/viewers/disassemblerviewer.cpp \
src/ui/viewers/hexdumpviewer.cpp \
src/ui/viewers/texthexdumpviewer.cpp \
src/ui/viewers/mazeviewer.cpp \
src/ui/viewers/charsetviewer.cpp \
src/relocatablefile/relocatablefile.cxx \
src/binaryfile/binaryfilemetadata.cpp \
src/util/charset.cpp \
src/ui/widgets/characterwidget.cpp \
src/ui/viewers/applesoftfiledetailviewer.cpp \
src/ui/widgets/hexconverter.cpp \
src/ui/viewers/viewerbase.cpp \
src/ui/widgets/CharacterSetExplorer.cpp \
src/ui/widgets/HiresScreenWidget.cpp \
src/ui/widgets/DisassemblerMetadataDialog.cpp \
src/binaryfile/EntryPointModel.cpp \
src/ui/widgets/LocationInfoDialog.cpp \
src/binaryfile/EntryPoints.cpp \
src/binaryfile/AssemblerSymbols.cpp \
src/binaryfile/AssemblerSymbolModel.cpp \
src/ui/diskexplorer/DiskExplorer.cpp \
src/ui/diskexplorer/DiskExplorerMapWidget.cpp \
src/applesoftfile/ApplesoftRetokenizer.cpp \
src/internals/JumpLineManager.cpp \
src/ui/widgets/FlowLineTextBrowser.cpp \
src/util/chunkbytelist.cpp \
src/util/opcodes.cpp
HEADERS += \
src/diskfiles/dos33/dos33diskimage.h \
src/diskfiles/dos33/dos33disktreeview.h \
src/diskfiles/dos33/sector.h \
src/diskfiles/dos33/vtoc.h \
src/diskfiles/dos33/catalogsector.h \
src/diskfiles/dos33/tracksectorlist.h \
src/diskfiles/dos33/filedescriptiveentry.h \
src/diskfiles/dos33/genericfile.h \
src/diskfiles/tspair.h \
src/diskfiles/dos33/dos33imagemodel.h\
src/diskfiles/dos33/dos33treeitem.h\
src/diskfiles/rawdiskimage.h \
src/intbasic/IntBasicFile.h \
src/memory/attributedmemory.h \
src/memory/memorycell.h \
src/memory/memrole.h \
src/memory/roles/role_asm_opcode.h \
src/memory/roles/role_asm_operand.h \
src/sequence/sequenceevent.h \
src/sequence/sequenceeventlist.h \
src/sequence/sequenceeventlistwidget.h \
src/sequence/sequenceoutputview.h \
src/sequence/sequencetool.h \
src/sequence/sequencetoolbox.h \
src/sequence/sequenceviewer.h \
src/sequence/textblockuserdata.h \
src/ui/central/centralappwindow.h \
src/ui/central/mainapptoolbar.h \
src/ui/diskexplorer/catalogsectorview.h \
src/ui/diskexplorer/tslistview.h \
src/ui/diskexplorer/viewwidgetstack.h \
src/ui/diskexplorer/vtocview.h \
src/ui/startupdialog.h \
src/ui/viewers/intbasicfileviewer.h \
src/ui/widgets/notesdialog.h \
src/util/chunkbytelist.h \
src/util/opcodes.h \
src/util/util.h \
src/util/applestring.h \
src/applesoftfile/applesoftfile.h \
src/applesoftfile/applesofttoken.h \
src/binaryfile/disassembler.h \
src/binaryfile/binaryfile.h \
src/textfile/textfile.h \
src/ui/catalogwidget.h \
src/ui/viewers/hiresviewwidget.h \
src/ui/viewers/applesoftfileviewer.h \
src/applesoftfile/applesoftformatter.h \
src/applesoftfile/applesoftline.h \
src/ui/viewers/disassemblerviewer.h \
src/ui/viewers/hexdumpviewer.h \
src/ui/viewers/texthexdumpviewer.h \
src/relocatablefile/relocatablefile.h \
src/ui/viewers/mazeviewer.h \
src/binaryfile/binaryfilemetadata.h \
src/ui/widgets/characterwidget.h \
src/util/charset.h \
src/ui/viewers/charsetviewer.h \
src/ui/viewers/applesoftfiledetailviewer.h \
src/ui/widgets/hexconverter.h \
src/ui/widgets/hrcgcontrolsinfo.h \
src/ui/viewers/viewerbase.h \
src/ui/viewers/fileviewerinterface.h \
src/ui/widgets/CharacterSetExplorer.h \
src/ui/widgets/HiresScreenWidget.h \
src/ui/widgets/DisassemblerMetadataDialog.h \
src/binaryfile/EntryPointModel.h \
src/ui/widgets/LocationInfoDialog.h \
src/binaryfile/EntryPoints.h \
src/binaryfile/AssemblerSymbols.h \
src/binaryfile/AssemblerSymbolModel.h \
src/binaryfile/MemoryUsageMap.h \
src/ui/diskexplorer/DiskExplorer.h \
src/ui/diskexplorer/DiskExplorerMapWidget.h \
src/applesoftfile/ApplesoftRetokenizer.h \
src/util/AppleColors.h \
src/internals/JumpLineManager.h \
src/ui/widgets/FlowLineTextBrowser.h \
src/ui/widgets/asciiinfodialog.h
FORMS += \
src/sequence/sequenceviewer.ui \
src/ui/catalogwidget.ui \
src/ui/diskexplorer/catalogsectorview.ui \
src/ui/diskexplorer/vtocview.ui \
src/ui/startupdialog.ui \
src/ui/viewers/applesoftfileviewer.ui \
src/ui/viewers/disassemblerviewer.ui \
src/ui/viewers/hexdumpviewer.ui \
src/ui/viewers/intbasicfileviewer.ui \
src/ui/viewers/texthexdumpviewer.ui \
src/ui/viewers/applesoftfiledetailviewer.ui \
src/ui/widgets/hexconverter.ui \
src/ui/widgets/hrcgcontrolsinfo.ui \
src/ui/viewers/viewerbase.ui \
src/ui/widgets/CharacterSetExplorer.ui \
src/ui/widgets/DisassemblerMetadataDialog.ui \
src/ui/widgets/LocationInfoDialog.ui \
src/ui/widgets/asciiinfodialog.ui \
src/ui/widgets/notesdialog.ui
RESOURCES += \
src/resource/resources.qrc \
src/qdarkstyle/style.qrc
TEMPLATE = subdirs
DEFINES -= ADS_BUILD_STATIC
SUBDIRS = \
src \
ads
src.depends = ads

View File

@ -186,7 +186,6 @@ void ApplesoftFormatter::formatDocument(QTextDocument *doc)
} // while tokenIt.hasNext()
//formattedText.append("\n");
cursor.insertBlock();
} // foreach line

228
src/src.pro Normal file
View File

@ -0,0 +1,228 @@
QT += core gui printsupport
CONFIG += c++11
MOC_DIR = ./.build
UI_DIR = ./.build
OBJECTS_DIR = ./.build
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = AppleSAWS
TEMPLATE = app
INCLUDEPATH += ./
INCLUDEPATH += ./relocatablefile
INCLUDEPATH += ./diskfiles
INCLUDEPATH += ./diskfiles/dos33
INCLUDEPATH += ./util
INCLUDEPATH += ./applesoftfile
INCLUDEPATH += ./intbasic
INCLUDEPATH += ./binaryfile
INCLUDEPATH += ./textfile
INCLUDEPATH += ./ui/viewers
INCLUDEPATH += ./imported
INCLUDEPATH += ./internals
INCLUDEPATH += ./ui/diskexplorer/
INCLUDEPATH += ./ui/widgets/
INCLUDEPATH += ./ui
INCLUDEPATH += ./memory
INCLUDEPATH += ./memory/roles
INCLUDEPATH += ./sequence
INCLUDEPATH += ./ui/central
INCLUDEPATH += ../ads/src/
#include(./ads.pri)
DEFINES += WS_VIDEO
SOURCES += \
./diskfiles/dos33/dos33disktreeview.cpp \
./diskfiles/rawdiskimage.cpp \
./intbasic/IntBasicFile.cxx \
./main.cpp \
./diskfiles/dos33/dos33diskimage.cxx \
./diskfiles/dos33/sector.cxx \
./diskfiles/dos33/vtoc.cxx \
./diskfiles/dos33/catalogsector.cxx \
./diskfiles/dos33/tracksectorlist.cxx \
./diskfiles/dos33/filedescriptiveentry.cxx \
./diskfiles/dos33/genericfile.cxx \
./diskfiles/tspair.cpp \
./diskfiles/dos33/dos33imagemodel.cpp \
./diskfiles/dos33/dos33treeitem.cpp \
./memory/attributedmemory.cpp \
./memory/memorycell.cpp \
./memory/memrole.cpp \
./memory/roles/role_asm_opcode.cpp \
./memory/roles/role_asm_operand.cpp \
./sequence/sequenceevent.cpp \
./sequence/sequenceeventlist.cpp \
./sequence/sequenceeventlistwidget.cpp \
./sequence/sequenceoutputview.cpp \
./sequence/sequencetool.cpp \
./sequence/sequencetoolbox.cpp \
./sequence/sequenceviewer.cpp \
./sequence/textblockuserdata.cpp \
./ui/central/centralappwindow.cpp \
./ui/central/mainapptoolbar.cpp \
./ui/diskexplorer/catalogsectorview.cpp \
./ui/diskexplorer/tslistview.cpp \
./ui/diskexplorer/viewwidgetstack.cpp \
./ui/diskexplorer/vtocview.cpp \
./ui/startupdialog.cpp \
./ui/viewers/intbasicfileviewer.cxx \
./ui/widgets/notesdialog.cpp \
./util/applestring.cxx \
./applesoftfile/applesoftfile.cxx \
./applesoftfile/applesofttoken.cxx \
./applesoftfile/applesoftformatter.cxx \
./binaryfile/disassembler.cxx \
./binaryfile/binaryfile.cxx \
./textfile/textfile.cxx \
./ui/catalogwidget.cxx \
./ui/viewers/hiresviewwidget.cxx \
./ui/viewers/applesoftfileviewer.cxx \
./ui/viewers/disassemblerviewer.cpp \
./ui/viewers/hexdumpviewer.cpp \
./ui/viewers/texthexdumpviewer.cpp \
./ui/viewers/mazeviewer.cpp \
./ui/viewers/charsetviewer.cpp \
./relocatablefile/relocatablefile.cxx \
./binaryfile/binaryfilemetadata.cpp \
./util/charset.cpp \
./ui/widgets/characterwidget.cpp \
./ui/viewers/applesoftfiledetailviewer.cpp \
./ui/widgets/hexconverter.cpp \
./ui/viewers/viewerbase.cpp \
./ui/widgets/CharacterSetExplorer.cpp \
./ui/widgets/HiresScreenWidget.cpp \
./ui/widgets/DisassemblerMetadataDialog.cpp \
./binaryfile/EntryPointModel.cpp \
./ui/widgets/LocationInfoDialog.cpp \
./binaryfile/EntryPoints.cpp \
./binaryfile/AssemblerSymbols.cpp \
./binaryfile/AssemblerSymbolModel.cpp \
./ui/diskexplorer/DiskExplorer.cpp \
./ui/diskexplorer/DiskExplorerMapWidget.cpp \
./applesoftfile/ApplesoftRetokenizer.cpp \
./internals/JumpLineManager.cpp \
./ui/widgets/FlowLineTextBrowser.cpp \
./util/chunkbytelist.cpp \
./util/opcodes.cpp
HEADERS += \
./diskfiles/dos33/dos33diskimage.h \
./diskfiles/dos33/dos33disktreeview.h \
./diskfiles/dos33/sector.h \
./diskfiles/dos33/vtoc.h \
./diskfiles/dos33/catalogsector.h \
./diskfiles/dos33/tracksectorlist.h \
./diskfiles/dos33/filedescriptiveentry.h \
./diskfiles/dos33/genericfile.h \
./diskfiles/tspair.h \
./diskfiles/dos33/dos33imagemodel.h\
./diskfiles/dos33/dos33treeitem.h\
./diskfiles/rawdiskimage.h \
./intbasic/IntBasicFile.h \
./memory/attributedmemory.h \
./memory/memorycell.h \
./memory/memrole.h \
./memory/roles/role_asm_opcode.h \
./memory/roles/role_asm_operand.h \
./sequence/sequenceevent.h \
./sequence/sequenceeventlist.h \
./sequence/sequenceeventlistwidget.h \
./sequence/sequenceoutputview.h \
./sequence/sequencetool.h \
./sequence/sequencetoolbox.h \
./sequence/sequenceviewer.h \
./sequence/textblockuserdata.h \
./ui/central/centralappwindow.h \
./ui/central/mainapptoolbar.h \
./ui/diskexplorer/catalogsectorview.h \
./ui/diskexplorer/tslistview.h \
./ui/diskexplorer/viewwidgetstack.h \
./ui/diskexplorer/vtocview.h \
./ui/startupdialog.h \
./ui/viewers/intbasicfileviewer.h \
./ui/widgets/notesdialog.h \
./util/chunkbytelist.h \
./util/opcodes.h \
./util/util.h \
./util/applestring.h \
./applesoftfile/applesoftfile.h \
./applesoftfile/applesofttoken.h \
./binaryfile/disassembler.h \
./binaryfile/binaryfile.h \
./textfile/textfile.h \
./ui/catalogwidget.h \
./ui/viewers/hiresviewwidget.h \
./ui/viewers/applesoftfileviewer.h \
./applesoftfile/applesoftformatter.h \
./applesoftfile/applesoftline.h \
./ui/viewers/disassemblerviewer.h \
./ui/viewers/hexdumpviewer.h \
./ui/viewers/texthexdumpviewer.h \
./relocatablefile/relocatablefile.h \
./ui/viewers/mazeviewer.h \
./binaryfile/binaryfilemetadata.h \
./ui/widgets/characterwidget.h \
./util/charset.h \
./ui/viewers/charsetviewer.h \
./ui/viewers/applesoftfiledetailviewer.h \
./ui/widgets/hexconverter.h \
./ui/widgets/hrcgcontrolsinfo.h \
./ui/viewers/viewerbase.h \
./ui/viewers/fileviewerinterface.h \
./ui/widgets/CharacterSetExplorer.h \
./ui/widgets/HiresScreenWidget.h \
./ui/widgets/DisassemblerMetadataDialog.h \
./binaryfile/EntryPointModel.h \
./ui/widgets/LocationInfoDialog.h \
./binaryfile/EntryPoints.h \
./binaryfile/AssemblerSymbols.h \
./binaryfile/AssemblerSymbolModel.h \
./binaryfile/MemoryUsageMap.h \
./ui/diskexplorer/DiskExplorer.h \
./ui/diskexplorer/DiskExplorerMapWidget.h \
./applesoftfile/ApplesoftRetokenizer.h \
./util/AppleColors.h \
./internals/JumpLineManager.h \
./ui/widgets/FlowLineTextBrowser.h \
./ui/widgets/asciiinfodialog.h
FORMS += \
./sequence/sequenceviewer.ui \
./ui/catalogwidget.ui \
./ui/diskexplorer/catalogsectorview.ui \
./ui/diskexplorer/vtocview.ui \
./ui/startupdialog.ui \
./ui/viewers/applesoftfileviewer.ui \
./ui/viewers/disassemblerviewer.ui \
./ui/viewers/hexdumpviewer.ui \
./ui/viewers/intbasicfileviewer.ui \
./ui/viewers/texthexdumpviewer.ui \
./ui/viewers/applesoftfiledetailviewer.ui \
./ui/widgets/hexconverter.ui \
./ui/widgets/hrcgcontrolsinfo.ui \
./ui/viewers/viewerbase.ui \
./ui/widgets/CharacterSetExplorer.ui \
./ui/widgets/DisassemblerMetadataDialog.ui \
./ui/widgets/LocationInfoDialog.ui \
./ui/widgets/asciiinfodialog.ui \
./ui/widgets/notesdialog.ui
RESOURCES += \
./resource/resources.qrc \
./qdarkstyle/style.qrc
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../ads/lib/ -lqtadvanceddockingd
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../ads/lib/ -lqtadvanceddockingd
else:unix: LIBS += -L$$OUT_PWD/../ads/src/ -lqtadvanceddockingd
INCLUDEPATH += $$PWD/../ads/src
DEPENDPATH += $$PWD/../ads/src

View File

@ -74,10 +74,6 @@ void CentralAppWindow::createActions()
// connect(m_reference_action, &QAction::triggered,
// qApp, &QApplication::xxxxxx);
m_utils_action = new QAction(QIcon(":/images/redblob.png"),tr("&Utils"));
m_utils_action->setCheckable(true);
// connect(m_reference_action, &QAction::triggered,
// qApp, &QApplication::xxxxxx);
m_image_lib_action = new QAction(QIcon(":/images/redblob.png"),tr("&Disk Image\nLibrary"));
m_image_lib_action->setCheckable(true);
@ -96,7 +92,6 @@ void CentralAppWindow::createActions()
m_tool_action_group = new QActionGroup(this);
m_tool_action_group->addAction(m_reference_action);
m_tool_action_group->addAction(m_utils_action);
m_tool_action_group->addAction(m_image_lib_action);
m_tool_action_group->addAction(m_disk_explorer_action);
m_tool_action_group->addAction(m_projects_action);
@ -112,6 +107,8 @@ void CentralAppWindow::initMenuBar()
auto filemenu = menuBar()->addMenu(tr("&File"));
filemenu->addAction(m_quitAction);
auto toolsmenu = menuBar()->addMenu(tr("&Tools"));
}
void CentralAppWindow::initStatusBar()
@ -126,27 +123,22 @@ void CentralAppWindow::initToolBars()
m_mainToolBar->setIconSize(QSize(64,64));
m_mainToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
m_mainToolBar->setFont(QFont("Ariel",14));
// m_mainToolBar->addAction(m_quitAction);
m_mainToolBar->addAction(m_reference_action);
m_mainToolBar->addAction(m_utils_action);
m_mainToolBar->addSeparator();
m_mainToolBar->addAction(m_image_lib_action);
m_mainToolBar->addAction(m_disk_explorer_action);
m_mainToolBar->addAction(m_projects_action);
addToolBar(Qt::LeftToolBarArea, m_mainToolBar);
}
void CentralAppWindow::initDockWidgets()
{
m_directory_area = new Dos33DiskTreeView();
m_directory_area->setFont(QFont("Pr Number 3", 12));
m_directory_area->setMinimumSize(300,200);
Dos33DiskImage *img = new Dos33DiskImage("c:/develop/git/AppleSAWS/disk-images/ApplesoftToolkit.dsk");
auto model = new Dos33ImageModel();
@ -155,19 +147,14 @@ void CentralAppWindow::initDockWidgets()
img = new Dos33DiskImage("c:/develop/git/AppleSAWS/disk-images/dos.3.3.system.master.dsk");
model->addDiskImage(img);
img = new Dos33DiskImage("c:/develop/git/AppleSAWS/disk-images/Print Shop Companion - Side 1.dsk");
model->addDiskImage(img);
m_directory_area->setModel(model);
auto DiskImageDockWidget = new CDockWidget("Disk Images");
DiskImageDockWidget->setWidget(m_directory_area);
DiskImageDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
DiskImageDockWidget->resize(250, 150);
DiskImageDockWidget->setMinimumSize(200,150);
auto DiskImageWidgetArea = DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, DiskImageDockWidget);
//DockManager->addDockWidget(DockWidgetArea::BottomDockWidgetArea, TableDockWidget, TableArea);
// ui->menuView->addAction(TableDockWidget->toggleViewAction());
DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, DiskImageDockWidget);
@ -181,10 +168,7 @@ void CentralAppWindow::initDockWidgets()
SequenceDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
SequenceDockWidget->resize(250, 150);
SequenceDockWidget->setMinimumSize(200,150);
auto SequenceWidgetArea = DockManager->addDockWidget(DockWidgetArea::RightDockWidgetArea, SequenceDockWidget);
DockManager->addDockWidget(DockWidgetArea::RightDockWidgetArea, SequenceDockWidget);
}
@ -205,8 +189,7 @@ void CentralAppWindow::initCentralWidget()
CentralDockWidget = new CDockWidget("CentralWidget");
CentralDockWidget->setWidget(m_central_stack);
// CentralDockWidget->setFeature(CDockWidget::NoTab,true);
m_central_dock_area = DockManager->setCentralWidget(CentralDockWidget);
DockManager->setCentralWidget(CentralDockWidget);
Dos33DiskImage *img = new Dos33DiskImage("c:/develop/git/AppleSAWS/disk-images/ApplesoftToolkit.dsk");
auto dew = new DiskExplorerMapWidget(img->tracks(),img->sectorsPerTrack());
@ -215,17 +198,16 @@ void CentralAppWindow::initCentralWidget()
auto VWSDockWidget = new CDockWidget("Sector Contents");
VWSDockWidget->setWidget(dew->generateViewWidgetStack());
auto VWSWidgetArea = DockManager->addDockWidget(DockWidgetArea::BottomDockWidgetArea, VWSDockWidget);
DockManager->addDockWidget(DockWidgetArea::BottomDockWidgetArea, VWSDockWidget);
auto KeyDockWidget = new CDockWidget("Key");
auto keywidget = dew->makeKeyWidget();
keywidget->setMaximumWidth(240);
KeyDockWidget->setWidget(keywidget);
KeyDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
// KeyDockWidget->resize(250, 150);
// KeyDockWidget->setMinimumSize(200,150);
auto DiskImageWidgetArea =
DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, KeyDockWidget, m_central_dock_area);
DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea,
KeyDockWidget,
DockManager->centralWidget()->dockAreaWidget());
}

View File

@ -54,7 +54,6 @@ private:
private:
QAction *m_quitAction;
QAction *m_reference_action;
QAction *m_utils_action;
QAction *m_image_lib_action;
QAction *m_disk_explorer_action;
QAction *m_projects_action;
@ -69,9 +68,10 @@ private:
ads::CDockManager *DockManager;
ads::CDockWidget *CentralDockWidget;
ads::CDockAreaWidget *m_central_dock_area;
QStackedWidget *m_central_stack;
};
#endif // CENTRALAPPWINDOW_H

View File

@ -43,7 +43,7 @@ DiskExplorerMapWidget::DiskExplorerMapWidget(int numtracks, int numsectors, QWid
setWindowTitle("Disk Explorer");
QGridLayout *gridlayout = new QGridLayout(this);
gridlayout->setSizeConstraint(QLayout::SetMinimumSize);
// gridlayout->setSizeConstraint(QLayout::SetMinimumSize);
gridlayout->setHorizontalSpacing(1);
gridlayout->setVerticalSpacing(1);
@ -52,16 +52,20 @@ DiskExplorerMapWidget::DiskExplorerMapWidget(int numtracks, int numsectors, QWid
m_bgroup = new QButtonGroup(this);
QLabel *tracklabel = new QLabel("Track",this);
tracklabel->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed));
gridlayout->addWidget(tracklabel,0,0,1,m_numtracks+1,Qt::AlignHCenter);
for (int track= 0; track < numtracks; track++)
{
QLabel *label = new QLabel(QString("%1").arg(track,2,10,QChar('0')));
label->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed));
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
gridlayout->addWidget(label,1,track+1);
}
for (int sec = 0; sec < numsectors; sec++)
{
QLabel *label = new QLabel(QString("Sec %1").arg(sec));
label->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed));
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
gridlayout->addWidget(label,sec+2,0);
}
@ -70,6 +74,7 @@ DiskExplorerMapWidget::DiskExplorerMapWidget(int numtracks, int numsectors, QWid
for (int sec = 0; sec < 16; sec++)
{
DEButton *tb = new DEButton(this,track,sec);
tb->setObjectName(QString("BtnT%1S%2").arg(track).arg(sec));
tb->setBgColor(m_defaultColor);
tb->setCheckable(true);
@ -82,9 +87,20 @@ DiskExplorerMapWidget::DiskExplorerMapWidget(int numtracks, int numsectors, QWid
gridlayout->addWidget(tb,sec+2,track+1);
}
}
gridlayout->addWidget(new QLabel(""),18,0,1,5); // Stretchy Row
gridlayout->setRowStretch(18,900);
gridlayout->addWidget(new QLabel(""),18,0,1,5); // Stretchy Row
// gridlayout->setRowStretch(18,900);
for (auto rownum = 0; rownum < gridlayout->rowCount(); rownum++)
{
gridlayout->setRowStretch(rownum,1);
}
gridlayout->setRowStretch(gridlayout->rowCount()-1, 5000);
for (auto colnum= 0; colnum < gridlayout->columnCount(); colnum++)
{
gridlayout->setColumnStretch(colnum,1);
}
makeStatusWidget();
}

View File

@ -44,6 +44,9 @@ public:
setSector(sec);
connect(this, &DEButton::clicked, this, &DEButton::handleClick);
m_isHighlighted = false;
setSizePolicy(
QSizePolicy(QSizePolicy::MinimumExpanding,
QSizePolicy::Minimum));
}
void setTrack(int track) { m_track = track; }
@ -98,8 +101,9 @@ private slots:
emit checked(m_track,m_sector,isChecked);
}
QSize minimumSizeHint() const Q_DECL_OVERRIDE { return QSize(12,12); }
QSize sizeHint() const Q_DECL_OVERRIDE { return QSize(24,24); }
public:
QSize minimumSizeHint() const Q_DECL_OVERRIDE { return QSize(14,14); }
QSize sizeHint() const Q_DECL_OVERRIDE { return QSize(14,14); }
bool hasHeightForWidth() const Q_DECL_OVERRIDE { return true; }
int heightForWidth(int width) const Q_DECL_OVERRIDE { return width; }

View File

@ -79,10 +79,9 @@ void ViewWidgetStack::makeWidgets()
setCurrentWidget(m_hdv);
}
void ViewWidgetStack::handleShowSectorData(Sector *data, int track,
int sector, DiskSectorRole role)
void ViewWidgetStack::handleShowSectorData(Sector *data, int /*track*/,
int /*sector*/, DiskSectorRole role)
{
ViewWidgetStack::PreferredViewer viewer =
ViewWidgetStack::PreferredViewer::DontCare;

View File

@ -18,15 +18,17 @@
#include "hexdumpviewer.h"
#include "ui_hexdumpviewer.h"
#include "applestring.h"
#include "util.h"
#include <QDebug>
#include <QScrollBar>
#include <QSettings>
#include <QAction>
#include <QMenu>
#include <QFontDialog>
#include "applestring.h"
#include <QChar>
#include <QTextCursor>
HexDumpViewer::HexDumpViewer(QWidget *parent, int defaultFontSize) :
FileViewerInterface(parent),
@ -34,15 +36,15 @@ HexDumpViewer::HexDumpViewer(QWidget *parent, int defaultFontSize) :
{
m_defaultFontSize = defaultFontSize;
QFont textAreaFont;
textAreaFont.setStyleHint(QFont::Monospace);
// textAreaFont.setStyleHint(QFont::Monospace);
if (defaultFontSize > 0) { textAreaFont.setPointSize(10); }
// if (defaultFontSize > 0) { textAreaFont.setPointSize(10); }
m_file = Q_NULLPTR;
ui->setupUi(this);
setTextFont(fontFromSettings("HexDumpViewer.textFont", textAreaFont),
defaultFontSize);
// setTextFont(fontFromSettings("HexDumpViewer.textFont", textAreaFont),
// defaultFontSize);
m_offset = 0;
@ -51,7 +53,7 @@ HexDumpViewer::HexDumpViewer(QWidget *parent, int defaultFontSize) :
setWindowTitle(title);
QSettings settings;
toggleWordWrap(settings.value("HexViewer.WordWrap",true).toBool());
// toggleWordWrap(settings.value("HexViewer.WordWrap",true).toBool());
}
HexDumpViewer::~HexDumpViewer()
@ -79,76 +81,84 @@ void HexDumpViewer::showHexAndAsciiValues()
{
int offset = ui->textArea->verticalScrollBar()->value();
QStringList lines;
ui->textArea->clear();
auto doc = ui->textArea->document();
auto cursor = new QTextCursor(doc);
QTextCharFormat text40;
text40.setFontFamily("Print Char 21");
QTextCharFormat text80;
text80.setFontFamily("Pr Number 3");
//TODO: Align text from x00 to xFF. Currently it will start with whatever the offset is.
quint16 addr = m_offset;
for (int idx = 0; idx <= m_data.count()/16; idx++) {
if ((idx*16) >= m_data.count()) { break; }
cursor->setCharFormat(text80);
QString line = QString("(%1) %2: ")
.arg(m_offset+(idx*16),4,10,QChar('0'))
.arg(m_offset+(idx*16),4,16,QChar('0'));
QString asciiline;
cursor->insertText(line);
int posHandled = 0;
for (int jdx = (idx*16); jdx < (idx*16)+16; jdx++) {
addr++;
if (jdx < m_data.count()) {
asciiline += valToAppleAscii(m_data[jdx]);
posHandled++;
cursor->setCharFormat(text80);
cursor->insertText(" ");
line += QString(" %1").arg((quint8) m_data[jdx],2,16,QChar('0'));
}
}
if (line.length() > 14) {
int diff = (62 - line.length());
if (diff < 0) { diff = 0; }
if (diff>0) {
for (int pdx = 0; pdx < diff; pdx++)
cursor->insertText(
QString("%1")
.arg((quint8) m_data[jdx],2,16,QChar('0')).toUpper());
if (posHandled == 8)
{
line.append("&#160;");
cursor->setCharFormat(text80);
cursor->insertText(" ");
}
}
lines.append(line + "&#160;&#160;" + asciiline);
}
for (int pos = posHandled; pos < 16; pos++)
cursor->insertText(" ");
cursor->setCharFormat(text40);
cursor->insertText(" ");
posHandled = 0;
for (int jdx = (idx*16); jdx < (idx*16)+16; jdx++) {
if (jdx < m_data.count()) {
posHandled++;
auto colorformat = text40;
if (AppleChar::getAttribute(m_data[jdx]) == TextAttribute::Flash)
{
colorformat.setBackground(QColor(Qt::lightGray));
colorformat.setForeground(QColor(Qt::darkBlue));
}
else if ((unsigned char) m_data[jdx] >= 0x80 &&
(unsigned char) m_data[jdx] < 0x80+0x20)
{
colorformat.setForeground(QColor(Qt::black));
colorformat.setBackground(QColor(Qt::green).lighter());
}
cursor->setCharFormat(colorformat);
cursor->insertText(AppleChar::getAppleFontChar(m_data[jdx]));
// if (posHandled == 8) {
// cursor->setCharFormat(text80);
// cursor->insertText(" ");
// cursor->setCharFormat(text40);
// }
}
}
cursor->insertText("\n");
}
setText(qPrintable(lines.join("<br>").toUpper()));
ui->textArea->verticalScrollBar()->setValue(offset);
}
QString HexDumpViewer::valToAppleAscii(quint8 val)
{
// typedef enum {
// Inverse,
// Flash,
// Normal,
// AltUC
// } Zone;
TextAttribute attribute = AppleChar::getAttribute(val);
QString charval = AppleChar::printable(val);
if (val == 0xff) { charval = "?"; } // QChar(0x25a0); }
// if (val <= 0x1F) { val += 0x40; charval = QString("%1").arg(QChar(val)); zone = Inverse; } //INV UC
// else if (val <= 0x3F) { charval = QString("%1").arg(QChar(val)); zone = Inverse; } // INV SP
// else if (val <= 0x5F) { charval = QString("%1").arg(QChar(val)); zone = Flash; } // FL UC
// else if (val <= 0x7F) { val -= 0x40; charval = QString("%1").arg(QChar(val)); zone = Flash; } // FL SP
// else if (val <= 0x9F) { val -= 0x40; charval = QString("%1").arg(QChar(val)); zone = AltUC; } // NORMx UC
// else if (val <= 0xBF) { val -= 0x80; charval = QString("%1").arg(QChar(val)); zone = Normal; } // NORM SP
// else if (val <= 0xDF) { val -= 0x80; charval = QString("%1").arg(QChar(val)); zone = Normal; } // NORM UC
// else if (val < 0xFF) { val -= 0x80; charval = QString("%1").arg(QChar(val)); zone = Normal; } // NORM LC
// else /* (val == 0xFF)*/ { charval = QString("\u25a0"); zone = Normal; }
QString htmlstr = charval.toHtmlEscaped();
QString retval;
if (attribute == TextAttribute::Inverse) { retval = QString("<font color=\"blue\"><b>%1</b></font>").arg(htmlstr); }
else if (attribute == TextAttribute::Flash) { retval = QString("<font color=\"green\"><b><i>%1</i></b></font>").arg(htmlstr);}
else if (attribute == TextAttribute::NormalLow) { retval = QString("<font color=\"red\"><i>%1</i></font>").arg(htmlstr);}
else { retval = QString("%1").arg(htmlstr);}
return retval;
}
void HexDumpViewer::setFile(GenericFile *file, quint16 offset)
{
@ -170,49 +180,11 @@ void HexDumpViewer::setRawData(QByteArray data, quint16 offset)
showHexAndAsciiValues();
}
bool HexDumpViewer::optionsMenuItems(QMenu *menu)
bool HexDumpViewer::optionsMenuItems(QMenu * /*menu*/)
{
QSettings settings;
QAction *action = new QAction("&Word Wrap");
action->setCheckable(true);
action->setChecked(settings.value("HexViewer.WordWrap",true).toBool());
connect(action, &QAction::toggled,
this, &HexDumpViewer::toggleWordWrap);
menu->addAction(action);
menu->addSeparator();
if (m_setFontAction) {
m_setFontAction = new QAction("Set &Font...");
}
menu->addAction(m_setFontAction);
connect(m_setFontAction, &QAction::triggered,
this, [this] {
bool ok;
QFont font = QFontDialog::getFont(&ok,
ui->textArea->font(),
this, "Set Font",
QFontDialog::MonospacedFonts);
if (ok) {
setTextFont(font);
fontToSettings("HexDumpViewer.textFont", font);
}
});
return true;
return false;
}
void HexDumpViewer::setTextFont(const QFont &font, int forcedFontSize)
{
QFont myfont = font;
if (forcedFontSize > 0) { myfont.setPointSize(forcedFontSize); }
// qDebug() << "######################### Setting text font size " << myfont.pointSize();
ui->textArea->setFont(myfont);
}
void HexDumpViewer::setData(QByteArray data)
{
@ -242,28 +214,4 @@ void HexDumpViewer::doPrint()
}
bool HexDumpViewer::canExport() const { return true; }
void HexDumpViewer::doExport()
{
QString defaultPath = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
QDir savename = QDir(defaultPath).filePath(m_file->filename()+".txt");
QString saveName = QFileDialog::getSaveFileName(this,
tr("Export Hex Dump"), savename.path(), tr("Text Files (*.txt)"));
if (saveName == "") return; // User cancelled
qDebug() << "Set filename: " << saveName;
QFile saveFile(saveName);
if (!saveFile.open(QIODevice::WriteOnly | QIODevice::Text))
{
QMessageBox::warning(this,"Save Error","Could not save "+saveName);
return;
}
QTextStream out(&saveFile);
out << ui->textArea->document()->toPlainText();
saveFile.close();
}

View File

@ -45,23 +45,17 @@ public:
virtual bool optionsMenuItems(QMenu *menu);
bool canPrint() const;
bool canExport() const;
bool canExport() const { return false; }
public slots:
void showHexAndAsciiValues();
void toggleWordWrap(bool enabled);
void doPrint();
void doExport();
protected:
void setTextFont(const QFont &font, int forcedFontSize = -1);
private:
void setText(QString text);
void setData(QByteArray data);
QString valToAppleAscii(quint8 val);
QAction *m_setFontAction;
int m_defaultFontSize;
Ui::HexDumpViewer *ui;

View File

@ -116,7 +116,7 @@ QString AppleChar::getHtmlString(quint8 val)
return retval;
}
QChar AppleChar::getAppleFontChar(quint8 val)
QChar AppleChar::getAppleFontChar(quint8 val, bool showCtrlChars)
{
if (getAttribute(val) == TextAttribute::Inverse)
{
@ -128,7 +128,21 @@ QChar AppleChar::getAppleFontChar(quint8 val)
}
else if (val >= 0x80 && val < 0xA0)
{
return QChar(val - 0x80 + 0xe800);
if (showCtrlChars)
{
return QChar(val - 0x80 + 0xe800);
}
else
{
if (val > 0x80+0x20)
{
return QChar(val - 0x80 + 0xe800);
}
else
{
return QChar(val - 0x80 + 0x40);
}
}
}
else
{

View File

@ -40,7 +40,7 @@ public:
static TextSet getTextSet(quint8 val) ;
static QChar printable(quint8 val) ;
static QString getHtmlString(quint8 val);
static QChar getAppleFontChar(quint8 val);
static QChar getAppleFontChar(quint8 val, bool showCtrlChars = false);
private:
quint8 m_val;