Source: /app/hbasic/hbasic/src/debug_widget1.h


Annotated List
Files
Globals
Hierarchy
Index
/* **************************************************************************
 File: debug_widget1.h
 Desc: Subwindow to display  call stack in debug mode
 ----------------------------------------------------------------------------
	copyright            : (C) 2001 HBasic project (Marcus Engels)
 ***************************************************************************/

/* **************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/

/* ----------------------------------------------------------------------- */
/* Classlist: List of classes that will be defined in this source file.    */
/* ----------------------------------------------------------------------- */

/**
 * class CDebugWindow1  Widget to display call stack
 */

/* ----------------------------------------------------------------------- */
/* Changelog: Description of important changes within this file.           */
/*            Please report with date, maintainer and change description.  */
/* ----------------------------------------------------------------------- */

#ifndef DBG1WIDGET_H
#define DBG1WIDGET_H

#include "defines.h"
#include "structs.h"
#include "window_list.h"

class QSplitter;
class QListBox;
class QPushButton;
class QListView;
class QListViewItem;

#define SHOW_NO_VARIABLES 0
#define SHOW_GLOBAL_VAR 1
#define SHOW_SLOCAL_VAR 2
#define SHOW_FLOCAL_VAR 4
#define SHOW_CALLSTACK 8
#define SHOW_VARIABLE_WINDOW 0x10

/**
 * Widget to display call stack at debug-time.
 */

class CDebugWidget1 : public CWindowListChild
{
Q_OBJECT

public:
	CDebugWidget1( QWidget *parent );

	void resizeEvent( QResizeEvent *evt );
	void showVariableValues( void );
	void showCallStack( void );
	void setButtonState( short enabled );

private:
	short variables_visible;
	QList watched_variables;
	QPushButton *btn_stop;
	QPushButton *btn_show_all;
	QPushButton *btn_show_global;
	QPushButton *btn_show_modul;
	QPushButton *btn_show_sub;

	QPushButton *btn_step;
	QPushButton *btn_step_into;
	QPushButton *btn_step_out;
	QPushButton *btn_step_cursor;
	QPushButton *btn_restart;

	QPushButton *btn_new_var;
	QPushButton *btn_del_var;
	QSplitter *sp_variables;  /* Splitter to separate between variable window and watches. */
	QListView *lv_current_var;
	QListView *lv_watches;
	QListBox *lb_call_stack;

	void setValueString( QListViewItem *lv_entry, QString *value_str, short value_range );
	void showWatchedVariables( void );
	void show_all_global_vars( void );
	void show_all_modul_vars( void );
	void show_all_sublocal_vars( void );

private slots:
	void slotStepOver( void );
	void slotStopInterpreter( void );
	void slotStepOut( void );
	void slotStepInto( void );
	void slotStepCursor( void );
	void slotRestart( void );
	void slotShowCallStack( void );
//	void slotRightMousePressed( QListViewItem *new_popup_item, const QPoint &pos, int num);

};

#endif

Generated by: root on linux on Sun Jul 13 18:06:35 2003, using kdoc 2.0a54.