OpendTect  6.6
uifont.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: 22/05/2000
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 #include "uibasemod.h"
14 #include "fontdata.h"
15 #include "uistring.h"
16 
17 class uiFont;
18 class uiParent;
19 class BufferStringSet;
20 class Settings;
21 mFDQtclass(QFont)
22 mFDQtclass(QFontMetrics)
23 
24 
25 mGlobal(uiBase) bool selectFont(uiFont&,uiParent* =0,
31 mGlobal(uiBase) bool selectFont(FontData&,uiParent* =0,
38 mExpClass(uiBase) uiFont : public CallBacker
39 {
40 friend class uiFontList;
41 
42 public:
43  virtual ~uiFont();
44 
46 
47  FontData fontData() const ;
48  void setFontData(const FontData&);
50  static void setFontData(mQtclass(QFont)&,const FontData&);
51  static void getFontData(FontData&,const mQtclass(QFont)&);
52  static mQtclass(QFont)* createQFont(const FontData&);
53 
54  inline const mQtclass(QFont&) qFont() const { return *qfont_; }
55 
56  int height() const;
57  int leading() const;
58  int maxWidth() const;
59  int avgWidth() const;
60  int width(const uiString&) const;
61  int ascent() const;
62  int descent() const;
63 
64  const char* key() const { return key_; }
66 
67 protected:
69  uiFont(const char* ky, const char* family,
72  bool it=FontData::defaultItalic());
73  uiFont(const char* ky,FontData fd=FontData());
74  uiFont(const uiFont&);
75 
76  // don't change order of these attributes!
77  mQtclass(QFont*) qfont_;
78  mQtclass(QFontMetrics&) qfontmetrics_;
79 
81 
82  void updateMetrics();
83 };
84 
85 
87 {
88 friend class uiFontSettingsGroup;
89 
90 public:
91 
92  uiFontList() : inited_(false) {}
94  static uiFontList& getInst();
95 
96  int nrKeys();
97  const char* key(int);
99 
100  const ObjectSet<uiFont>& fonts() const { return fonts_; }
101  ObjectSet<uiFont>& fonts() { return fonts_; }
102 
103  uiFont& get(const char* ky=0);
106 
107  uiFont& add(const char* ky,const FontData&);
108  uiFont& add(const char* ky,
109  const char* f=FontData::defaultFamily(),
110  int ptsz=FontData::defaultPointSize(),
112  bool it=FontData::defaultItalic());
113 
114  void update(Settings&);
115 
116 protected:
117 
119  void initialise();
120  uiFont& gtFont(const char*,const FontData* =0,
121  const mQtclass(QFont*) =0 );
122 
123  void use(const Settings&);
124 
125 private:
126 
127  bool inited_;
128 
129  void addOldGuess(const IOPar&,const char*);
131  void setDefaults();
132 
133 };
134 
135 #define FontList uiFontList::getInst
136 
uiFontList::get
uiFont & get(const char *ky=0)
Settings
Settings class holds the user settings. It is an IOPar.
Definition: settings.h:34
uiFont::uiFont
uiFont(const char *ky, const char *family, int ps=FontData::defaultPointSize(), FontData::Weight w=FontData::defaultWeight(), bool it=FontData::defaultItalic())
uiFont must be created through the uiFontList
uiFont::avgWidth
int avgWidth() const
uiFontSettingsGroup
Definition: uifontsel.h:28
FontData::StdSz
StdSz
Definition: fontdata.h:67
uiFont::mQtclass
const mQtclass(QFont &) qFont() const
Definition: uifont.h:54
uistring.h
uiFont::changed
Notifier< uiFont > changed
Definition: uifont.h:65
selectFont
bool selectFont(FontData &, uiParent *=0, const uiString &title=uiString::emptyString())
pops a selector box to select a new font
mGlobal
#define mGlobal(module)
Definition: commondefs.h:180
ObjectSet< uiFont >
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
uiFontList::update
void update(Settings &)
uiFont::key
const char * key() const
Definition: uifont.h:64
FontData::defaultItalic
static bool defaultItalic()
uiFontList::fonts
const ObjectSet< uiFont > & fonts() const
Definition: uifont.h:100
uiFontList::inited_
bool inited_
Definition: uifont.h:127
uiFontList::fonts_
ObjectSet< uiFont > fonts_
Definition: uifont.h:118
uiFont::uiFont
uiFont(const char *ky, FontData fd=FontData())
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
FontData::defaultWeight
static Weight defaultWeight()
uiFont::setFontData
static void setFontData(mQtclass(QFont)&, const FontData &)
uiFont::getFontData
static void getFontData(FontData &, const mQtclass(QFont)&)
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiFontList::use
void use(const Settings &)
uiFont::maxWidth
int maxWidth() const
uiFont::uiFont
uiFont(const uiFont &)
uiFont
Definition: uifont.h:39
uiFont::setFontData
void setFontData(const FontData &)
Updates internal QFont and QFontMetrics.
uiFont::height
int height() const
uiFontList::fonts
ObjectSet< uiFont > & fonts()
Definition: uifont.h:101
uiFont::operator=
uiFont & operator=(const uiFont &)
uiFont::mQtclass
mQtclass(QFont *) qfont_
uiFontList::addOldGuess
void addOldGuess(const IOPar &, const char *)
uiFont::descent
int descent() const
title
uiParent const uiString & title
pops a selector box to select a new font
Definition: uifont.h:26
uiFontList::getFromQfnt
uiFont & getFromQfnt(mQtclass(QFont *))
uiFont::key_
BufferString key_
Definition: uifont.h:80
FontData::defaultPointSize
static int defaultPointSize()
uiFontList::getInst
static uiFontList & getInst()
FontData::defaultFamily
static const char * defaultFamily()
FontData::Weight
Weight
Definition: fontdata.h:23
uiFontList::removeOldEntries
void removeOldEntries(Settings &)
uiFontList::key
const char * key(int)
uiFontList::add
uiFont & add(const char *ky, const FontData &)
Notifier< uiFont >
uiFont::mQtclass
static mQtclass(QFont) *createQFont(const FontData &)
uiFontList::gtFont
uiFont & gtFont(const char *, const FontData *=0, const mQtclass(QFont *)=0)
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiFontList::setDefaults
void setDefaults()
uiFontList::get
uiFont & get(FontData::StdSz)
uiFontList::uiFontList
uiFontList()
Definition: uifont.h:92
mQtclass
#define mQtclass(cls)
Definition: commondefs.h:234
uiFontList::listKeys
void listKeys(BufferStringSet &)
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiString::emptyString
static const uiString & emptyString()
Definition: uistring.h:300
uiFontList
Definition: uifont.h:87
uiFont::width
int width(const uiString &) const
uiFont::leading
int leading() const
uiFont::updateMetrics
void updateMetrics()
fontdata.h
uiParent
Definition: uiparent.h:26
FontData
Data needed to make an actual font.
Definition: fontdata.h:20
uiFontList::add
uiFont & add(const char *ky, const char *f=FontData::defaultFamily(), int ptsz=FontData::defaultPointSize(), FontData::Weight w=FontData::defaultWeight(), bool it=FontData::defaultItalic())
mFDQtclass
mFDQtclass(QFont) mFDQtclass(QFontMetrics) bool selectFont(uiFont &
uiFont::~uiFont
virtual ~uiFont()
uiFontList::~uiFontList
~uiFontList()
uiFontList::initialise
void initialise()
uiFont::ascent
int ascent() const
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
uiFont::fontData
FontData fontData() const
uiFont::mQtclass
mQtclass(QFontMetrics &) qfontmetrics_
uiFontList::nrKeys
int nrKeys()

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