Initial add of empty Tas Editor window for Qt GUI.
This commit is contained in:
parent
9c4b03c327
commit
b7ad6cab38
|
@ -528,6 +528,7 @@ set(SRC_DRIVERS_SDL
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/avi/avi-utils.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/avi/fileio.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/avi/gwavi.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/TasEditor/TasEditorWindow.cpp
|
||||
)
|
||||
|
||||
set(SOURCES ${SRC_CORE} ${SRC_DRIVERS_COMMON} ${SRC_DRIVERS_SDL})
|
||||
|
|
|
@ -98,6 +98,7 @@
|
|||
#include "Qt/RamSearch.h"
|
||||
#include "Qt/keyscan.h"
|
||||
#include "Qt/nes_shm.h"
|
||||
#include "Qt/TasEditor/TasEditorWindow.h"
|
||||
|
||||
consoleWin_t::consoleWin_t(QWidget *parent)
|
||||
: QMainWindow( parent )
|
||||
|
@ -1604,6 +1605,14 @@ void consoleWin_t::createMainMenu(void)
|
|||
act->setStatusTip(tr("Open AVI RIFF Viewer Window"));
|
||||
connect(act, SIGNAL(triggered()), this, SLOT(openAviRiffViewer(void)) );
|
||||
|
||||
toolsMenu->addAction(act);
|
||||
|
||||
// Tools -> TAS Editor
|
||||
act = new QAction(tr("&TAS Editor ..."), this);
|
||||
//act->setShortcut( QKeySequence(tr("Shift+F7")));
|
||||
act->setStatusTip(tr("Open TAS Editor Window"));
|
||||
connect(act, SIGNAL(triggered()), this, SLOT(openTasEditor(void)) );
|
||||
|
||||
toolsMenu->addAction(act);
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
|
@ -2808,6 +2817,17 @@ void consoleWin_t::openAviRiffViewer(void)
|
|||
win->show();
|
||||
}
|
||||
|
||||
void consoleWin_t::openTasEditor(void)
|
||||
{
|
||||
TasEditorWindow *win;
|
||||
|
||||
//printf("Open TAS Editor Window\n");
|
||||
|
||||
win = new TasEditorWindow(this);
|
||||
|
||||
win->show();
|
||||
}
|
||||
|
||||
void consoleWin_t::openMovieOptWin(void)
|
||||
{
|
||||
MovieOptionsDialog_t *win;
|
||||
|
|
|
@ -329,6 +329,7 @@ class consoleWin_t : public QMainWindow
|
|||
void aboutQt(void);
|
||||
void openOnlineDocs(void);
|
||||
void openOfflineDocs(void);
|
||||
void openTasEditor(void);
|
||||
void openMsgLogWin(void);
|
||||
void openInputConfWin(void);
|
||||
void openGameSndConfWin(void);
|
||||
|
|
|
@ -0,0 +1,179 @@
|
|||
/* FCE Ultra - NES/Famicom Emulator
|
||||
*
|
||||
* Copyright notice for this file:
|
||||
* Copyright (C) 2021 mjbudd77
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
// TasEditorWindow.cpp
|
||||
//
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
|
||||
#include <QHeaderView>
|
||||
#include <QMessageBox>
|
||||
|
||||
#include "Qt/config.h"
|
||||
#include "Qt/fceuWrapper.h"
|
||||
#include "Qt/TasEditor/TasEditorWindow.h"
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
TasEditorWindow::TasEditorWindow(QWidget *parent)
|
||||
: QDialog(parent)
|
||||
{
|
||||
QVBoxLayout *mainLayout;
|
||||
//QHBoxLayout *hbox;
|
||||
QMenuBar *menuBar;
|
||||
|
||||
setWindowTitle("TAS Editor");
|
||||
|
||||
resize(512, 512);
|
||||
|
||||
mainLayout = new QVBoxLayout();
|
||||
|
||||
//mainLayout->addWidget(tree);
|
||||
|
||||
menuBar = buildMenuBar();
|
||||
|
||||
setLayout(mainLayout);
|
||||
mainLayout->setMenuBar( menuBar );
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
TasEditorWindow::~TasEditorWindow(void)
|
||||
{
|
||||
printf("Destroy Tas Editor Window\n");
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void TasEditorWindow::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
printf("Tas Editor Close Window Event\n");
|
||||
done(0);
|
||||
deleteLater();
|
||||
event->accept();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void TasEditorWindow::closeWindow(void)
|
||||
{
|
||||
//printf("Close Window\n");
|
||||
done(0);
|
||||
deleteLater();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
QMenuBar *TasEditorWindow::buildMenuBar(void)
|
||||
{
|
||||
QMenu *fileMenu;
|
||||
//QActionGroup *actGroup;
|
||||
QAction *act;
|
||||
int useNativeMenuBar=0;
|
||||
|
||||
QMenuBar *menuBar = new QMenuBar(this);
|
||||
|
||||
// This is needed for menu bar to show up on MacOS
|
||||
g_config->getOption( "SDL.UseNativeMenuBar", &useNativeMenuBar );
|
||||
|
||||
menuBar->setNativeMenuBar( useNativeMenuBar ? true : false );
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Menu Start
|
||||
//-----------------------------------------------------------------------
|
||||
// File
|
||||
fileMenu = menuBar->addMenu(tr("&File"));
|
||||
|
||||
// File -> New
|
||||
act = new QAction(tr("&New"), this);
|
||||
act->setShortcut(QKeySequence(tr("Ctrl+N")));
|
||||
act->setStatusTip(tr("Open New Project"));
|
||||
//act->setIcon( style()->standardIcon( QStyle::SP_FileDialogStart ) );
|
||||
//connect(act, SIGNAL(triggered()), this, SLOT(openAviFileDialog(void)) );
|
||||
|
||||
fileMenu->addAction(act);
|
||||
|
||||
// File -> Open
|
||||
act = new QAction(tr("&Open"), this);
|
||||
act->setShortcut(QKeySequence(tr("Ctrl+O")));
|
||||
act->setStatusTip(tr("Open Project"));
|
||||
//act->setIcon( style()->standardIcon( QStyle::SP_BrowserStop ) );
|
||||
//connect(act, SIGNAL(triggered()), this, SLOT(closeFile(void)) );
|
||||
|
||||
fileMenu->addAction(act);
|
||||
|
||||
// File -> Save
|
||||
act = new QAction(tr("&Save"), this);
|
||||
act->setShortcut(QKeySequence(tr("Ctrl+S")));
|
||||
act->setStatusTip(tr("Save Project"));
|
||||
//act->setIcon( style()->standardIcon( QStyle::SP_BrowserStop ) );
|
||||
//connect(act, SIGNAL(triggered()), this, SLOT(closeFile(void)) );
|
||||
|
||||
fileMenu->addAction(act);
|
||||
|
||||
// File -> Save As
|
||||
act = new QAction(tr("Save &As"), this);
|
||||
act->setShortcut(QKeySequence(tr("Ctrl+Shift+S")));
|
||||
act->setStatusTip(tr("Save Project As"));
|
||||
//act->setIcon( style()->standardIcon( QStyle::SP_BrowserStop ) );
|
||||
//connect(act, SIGNAL(triggered()), this, SLOT(closeFile(void)) );
|
||||
|
||||
fileMenu->addAction(act);
|
||||
|
||||
// File -> Save Compact
|
||||
act = new QAction(tr("Save &Compact"), this);
|
||||
//act->setShortcut(QKeySequence(tr("Ctrl+Shift+S")));
|
||||
act->setStatusTip(tr("Save Compact"));
|
||||
//act->setIcon( style()->standardIcon( QStyle::SP_BrowserStop ) );
|
||||
//connect(act, SIGNAL(triggered()), this, SLOT(closeFile(void)) );
|
||||
|
||||
fileMenu->addAction(act);
|
||||
|
||||
// File -> Recent
|
||||
recentMenu = fileMenu->addMenu( tr("Recent") );
|
||||
|
||||
recentMenu->setEnabled(false); // TODO: setup recent projects menu
|
||||
|
||||
fileMenu->addSeparator();
|
||||
|
||||
// File -> Import Input
|
||||
act = new QAction(tr("&Import Input"), this);
|
||||
//act->setShortcut(QKeySequence(tr("Ctrl+Shift+S")));
|
||||
act->setStatusTip(tr("Import Input"));
|
||||
//act->setIcon( style()->standardIcon( QStyle::SP_BrowserStop ) );
|
||||
//connect(act, SIGNAL(triggered()), this, SLOT(closeFile(void)) );
|
||||
|
||||
fileMenu->addAction(act);
|
||||
|
||||
// File -> Export to fm2
|
||||
act = new QAction(tr("&Export to fm2"), this);
|
||||
//act->setShortcut(QKeySequence(tr("Ctrl+Shift+S")));
|
||||
act->setStatusTip(tr("Export to fm2"));
|
||||
//act->setIcon( style()->standardIcon( QStyle::SP_BrowserStop ) );
|
||||
//connect(act, SIGNAL(triggered()), this, SLOT(closeFile(void)) );
|
||||
|
||||
fileMenu->addAction(act);
|
||||
|
||||
fileMenu->addSeparator();
|
||||
|
||||
// File -> Quit
|
||||
act = new QAction(tr("&Quit Window"), this);
|
||||
act->setShortcut(QKeySequence::Close);
|
||||
act->setStatusTip(tr("Close Window"));
|
||||
act->setIcon(style()->standardIcon(QStyle::SP_DialogCloseButton));
|
||||
connect(act, SIGNAL(triggered()), this, SLOT(closeWindow(void)) );
|
||||
|
||||
fileMenu->addAction(act);
|
||||
|
||||
return menuBar;
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
|
@ -0,0 +1,47 @@
|
|||
// TasEditorWindow.h
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <list>
|
||||
#include <map>
|
||||
|
||||
#include <QWidget>
|
||||
#include <QDialog>
|
||||
#include <QVBoxLayout>
|
||||
#include <QHBoxLayout>
|
||||
#include <QComboBox>
|
||||
#include <QCheckBox>
|
||||
#include <QPushButton>
|
||||
#include <QLineEdit>
|
||||
#include <QLabel>
|
||||
#include <QFrame>
|
||||
#include <QGroupBox>
|
||||
#include <QTreeView>
|
||||
#include <QTreeWidget>
|
||||
#include <QTreeWidgetItem>
|
||||
#include <QCloseEvent>
|
||||
#include <QMenu>
|
||||
#include <QMenuBar>
|
||||
#include <QAction>
|
||||
|
||||
class TasEditorWindow : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TasEditorWindow(QWidget *parent = 0);
|
||||
~TasEditorWindow(void);
|
||||
|
||||
protected:
|
||||
void closeEvent(QCloseEvent *event);
|
||||
|
||||
QMenuBar *buildMenuBar(void);
|
||||
QMenu *recentMenu;
|
||||
private:
|
||||
|
||||
public slots:
|
||||
void closeWindow(void);
|
||||
private slots:
|
||||
};
|
Loading…
Reference in New Issue