OpendTect  6.3
uitextfile.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H. Lammertink
8  Date: 09/02/2001
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uitoolsmod.h"
14 #include "uidialog.h"
15 #include "file.h"
16 #include "uistring.h"
17 class uiTextEdit;
18 class uiTextBrowser;
19 class uiTable;
20 
21 
22 mExpClass(uiTools) uiTextFile : public CallBacker
24 public:
25 
27 
28  uiTextFile( uiParent* p, const char* fnm,
29  const Setup& s=Setup() )
30  : setup_(s)
31  , filename_(fnm)
32  , fileNmChg(this) { init(p); }
33 
34  const char* fileName() const { return filename_; }
35  bool isModified () const { return ismodified_; }
36  int maxLines() const { return setup_.maxnrlines_; }
37  virtual bool isEditable() const { return setup_.editable_; }
38  virtual bool isTable() const { return setup_.style_ ==
39  File::Table; }
40 
41  bool open(const char*);
42  bool reLoad();
43  bool save();
44  bool saveAs(const char*);
45 
46  int nrLines() const;
47  void toLine(int);
48 
49  const char* text() const;
50 
51  uiTextEdit* textEdit() { return txted_; }
52  uiTextBrowser* textBrowser() { return txtbr_; }
53  uiTable* tableEditor() { return tbl_; }
54  uiObject* uiObj();
55 
57 
58 protected:
59 
60  Setup setup_;
62  mutable bool ismodified_;
63 
67 
68  void init(uiParent*);
69  void setFileName(const char*);
70 
71  void valChg(CallBacker*);
72 
73 };
74 
75 
76 mExpClass(uiTools) uiTextFileDlg : public uiDialog
78 public:
79 
80  mExpClass(uiTools) Setup : public uiDialog::Setup
81  {
82  public:
83 
84  Setup( const uiString& winttl = uiString::emptyString() )
85  : uiDialog::Setup(winttl.isEmpty() ? tr("File viewer") : winttl,
87  , scroll2bottom_(false)
88  , allowopen_(false)
89  , allowsave_(false)
90  {
91  oktext(uiStrings::sClose())
92  .canceltext( uiStrings::sReload() )
93  .separator(false).modal(false).menubar(true);
94  }
95 
96  mDefSetupMemb(bool, scroll2bottom)
97  mDefSetupMemb(bool, allowopen)
98  mDefSetupMemb(bool, allowsave)
99 
100  };
101 
102  uiTextFileDlg(uiParent* p,const char* fnm,
103  bool rdonly=false,bool tbl=false);
104  uiTextFileDlg( uiParent* p,const Setup&);
106  const Setup& s, const char* fnm )
107  : uiDialog(p,s) { init(s,ts,fnm); }
108 
109  uiTextFile* editor() { return editor_; }
110  void setFileName(const char*);
111  const char* fileName() const { return editor_->fileName(); }
112 
113 protected:
114 
117 
118  void open(CallBacker*);
119  void save(CallBacker*);
120  void saveAs(CallBacker*);
121  void dismiss(CallBacker*);
122  bool rejectOK();
123  bool acceptOK();
124  void finalizeCB(CallBacker*);
125 
126  void fileNmChgd(CallBacker*);
127  void init(const Setup&,const uiTextFile::Setup&,const char*);
128  bool okToExit();
129  int doMsg(const char*,bool iserr=true);
130  int doMsg(const uiString&,bool iserr=true);
131 };
#define mExpClass(module)
Definition: commondefs.h:157
int maxLines() const
Definition: uitextfile.h:36
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
Definition: uitextedit.h:73
#define mNoHelpKey
Definition: uidialog.h:37
FixedString Setup()
Definition: keystrs.h:113
Definition: file.h:109
static uiString sClose()
Definition: uistrings.h:269
uiTable * tbl_
Definition: uitextfile.h:66
Definition: uitextfile.h:76
uiTextFileDlg(uiParent *p, const uiTextFile::Setup &ts, const Setup &s, const char *fnm)
Definition: uitextfile.h:105
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
static uiString sReload()
Definition: uistrings.h:437
uiTextFile(uiParent *p, const char *fnm, const Setup &s=Setup())
Definition: uitextfile.h:28
bool init()
Definition: uitable.h:29
static const uiString & emptyString()
Definition: uistring.h:107
The base class for most UI elements.
Definition: uiobj.h:35
Definition: uistring.h:88
#define mNoDlgTitle
Stand-alone dialog window with optional 'OK', 'Cancel' and 'Save defaults' button.
Definition: uidialog.h:35
Definition: uiparent.h:24
Setup(const uiString &winttl=uiString::emptyString())
Definition: uitextfile.h:84
const char * text(const RowCol &) const
Definition: uidialog.h:40
const char * fileName() const
Definition: uitextfile.h:34
bool ismodified_
Definition: uitextfile.h:62
uiTextBrowser * txtbr_
Definition: uitextfile.h:65
bool isModified() const
Definition: uitextfile.h:35
bool captionisfilename_
Definition: uitextfile.h:116
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
Setup setup_
Definition: uitable.h:340
const char * fileName() const
Definition: uitextfile.h:111
Definition: uitextedit.h:99
uiTextFile * editor_
Definition: uitextfile.h:115
BufferString filename_
Definition: uitextfile.h:61
uiTextEdit * textEdit()
Definition: uitextfile.h:51
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
File::ViewPars Setup
Definition: uitextfile.h:26
bool isEmpty(const char *)
uiTextEdit * txted_
Definition: uitextfile.h:64
Notifier< uiTextFile > fileNmChg
Definition: uitextfile.h:56
uiTextFile * editor()
Definition: uitextfile.h:109
Definition: file.h:112
virtual bool isEditable() const
Definition: uitextfile.h:37
virtual bool isTable() const
Definition: uitextfile.h:38
uiTable * tableEditor()
Definition: uitextfile.h:53
Setup setup_
Definition: uitextfile.h:60
Definition: uitextfile.h:22
uiTextBrowser * textBrowser()
Definition: uitextfile.h:52

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017