Source: tomemoeditor.h


Annotated List
Files
Globals
Hierarchy
Index
//***************************************************************************
/*
 * TOra - An Oracle Toolkit for DBA's and developers
 * Copyright (C) 2003 Quest Software, Inc
 * 
 * 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;  only version 2 of
 * the License is valid for this program.
 * 
 * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 *      As a special exception, you have permission to link this program
 *      with the Oracle Client libraries and distribute executables, as long
 *      as you follow the requirements of the GNU GPL in regard to all of the
 *      software in the executable aside from Oracle client libraries.
 *
 *      Specifically you are not permitted to link this program with the
 *      Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech.
 *      And you are not permitted to distribute binaries compiled against
 *      these libraries without written consent from Quest Software, Inc.
 *      Observe that this does not disallow linking to the Qt Free Edition.
 *
 * All trademarks belong to their respective owners.
 *
 ****************************************************************************/

#ifndef TOMEMOEDITOR_H
#define TOMEMOEDITOR_H

#include <qdialog.h>

class QCheckBox;
class QLabel;
class QListViewItem;
class QToolBar;
class toListView;
class toMarkedText;
class toResultContentEditor;

/** Displays an text in a widget which can optionally be modified and saved back.
 */

class toMemoEditor : public QDialog {
  Q_OBJECT

  /** Editor of widget
   */
  toMarkedText *Editor;
  /** Row of this field
   */
  int Row;
  /** Column of this field
   */
  int Col;
  QToolBar *Toolbar;
  QLabel *Label;
  QCheckBox *Null;

  toListView *listView(void);
private slots:
  void openFile(void);
  void saveFile(void); 
protected:
  QToolBar *toolbar()
  { return Toolbar; }
  toMarkedText *editor()
  { return Editor; }
  QLabel *label()
  { return Label; }
public:
  /** Create this editor. If row and col is specified, editing is posible.
   * @param parent Parent widget.
   * @param data Data of editor.
   * @param row Optional location specifier, pass on in @ref changeData call.
   * @param col Optional location specifier, pass on in @ref changeData call.
   * @param sql Use SQL syntax highlighting of widget.
   * @param modal Display in modal dialog
   * @param navigation Display navigation buttons
   */
  toMemoEditor(QWidget *parent,const QString &data,int row=-1,int col=-1,
	       bool sql=false,bool modal=false,bool navigation=false);

  /** Get editor text.
   * @return String of editor.
   */
  QString text(void);
  /** Current row being edited.
   */
  int row() const
  { return Row; }
  /** Current column being edited.
   */
  int column() const
  { return Col; }
signals:
  /** Emitted when data is to be stored back to the creator
   * @param row Pass on from creation.
   * @param col Pass on from creation.
   * @param data New data to save.
   */
  void changeData(int row,int col,const QString &data);
public slots:
  /** Save changes and close.
   */
  virtual void store(void);

  /** Goto first column.
   */ 
  virtual void firstColumn();
  /** Goto next column.
   */ 
  virtual void nextColumn();
  /** Goto previous column.
   */ 
  virtual void previousColumn();
  /** Goto last column.
   */ 
  virtual void lastColumn();

  /** Change position in whatever it is your displaying.
   */ 
  virtual void changePosition(int row,int cols);
  /** Change value of editor.
   */
  virtual void setText(const QString &);
private slots:
  void changeCurrent(QListViewItem *item);
  virtual void null(bool);
};

#endif