summaryrefslogblamecommitdiffstatshomepage
path: root/src/osd/sdl/debugqtwindow.h
blob: f9d3e6a735c1b5bb2f1c388e995994c8a1510029 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13












                                                              

                
       

                                                                 
 



                                                         
 



                                                   

                












                                     
                                     
                            


          
                                   
 
                                 
                              


  
















                                                                         

                                      









                                    
      
#ifndef __DEBUG_QT_WINDOW_H__
#define __DEBUG_QT_WINDOW_H__

#include <QtGui/QtGui>

#include "emu.h"


//============================================================
//  The Qt window that everyone derives from.
//============================================================
class WindowQt : public QMainWindow
{
	Q_OBJECT

public:
	WindowQt(running_machine* machine, QWidget* parent=NULL);
	virtual ~WindowQt() {}

	// The interface to an all-window refresh
	void refreshAll() { s_refreshAll = true; }
	bool wantsRefresh() { return s_refreshAll; }
	void clearRefreshFlag() { s_refreshAll = false; }

	void hideAll() { s_hideAll = true; }
	bool wantsHide() { return s_hideAll; }
	void clearHideFlag() { s_hideAll = false; }


protected slots:
	void debugActOpenMemory();
	void debugActOpenDasm();
	void debugActOpenLog();
	void debugActRun();
	void debugActRunAndHide();
	void debugActRunToNextCpu();
	void debugActRunNextInt();
	void debugActRunNextVBlank();
	void debugActStepInto();
	void debugActStepOver();
	void debugActStepOut();
	void debugActSoftReset();
	void debugActHardReset();
	virtual void debugActClose();
	void debugActQuit();


protected:
	running_machine* m_machine;

	static bool s_refreshAll;
	static bool s_hideAll;
};


//=======================================================================
//  A way to store the configuration of a window long enough to use it.
//=======================================================================
class WindowQtConfig
{
public:
	// This is a holdover from the old debugger - TODO: remove
	enum WindowType
	{
		WIN_TYPE_MAIN       = 0x01,
		WIN_TYPE_MEMORY     = 0x02,
		WIN_TYPE_DISASM     = 0x04,
		WIN_TYPE_LOG        = 0x08,
		WIN_TYPE_UNKNOWN    = 0x10,
	};

public:
	WindowQtConfig() :
		m_type(WIN_TYPE_MAIN),
		m_size(800, 600),
		m_position(120, 120)
	{}
	~WindowQtConfig() {}

	WindowType m_type;
	QPoint m_size;
	QPoint m_position;
};

#endif