PTLib
Version 2.10.10
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
html.h
Go to the documentation of this file.
1
/*
2
* html.h
3
*
4
* HyperText Markup Language stream classes.
5
*
6
* Portable Windows Library
7
*
8
* Copyright (c) 1993-2002 Equivalence Pty. Ltd.
9
*
10
* The contents of this file are subject to the Mozilla Public License
11
* Version 1.0 (the "License"); you may not use this file except in
12
* compliance with the License. You may obtain a copy of the License at
13
* http://www.mozilla.org/MPL/
14
*
15
* Software distributed under the License is distributed on an "AS IS"
16
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17
* the License for the specific language governing rights and limitations
18
* under the License.
19
*
20
* The Original Code is Portable Windows Library.
21
*
22
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
23
*
24
* Contributor(s): ______________________________________.
25
*
26
* $Revision: 24177 $
27
* $Author: rjongbloed $
28
* $Date: 2010-04-05 06:52:04 -0500 (Mon, 05 Apr 2010) $
29
*/
30
31
#ifndef PTLIB_HTML_H
32
#define PTLIB_HTML_H
33
34
#ifdef P_USE_PRAGMA
35
#pragma interface
36
#endif
37
38
39
41
// PHTML
42
49
class
PHTML
:
public
PStringStream
50
{
51
PCLASSINFO
(
PHTML
,
PStringStream
)
52
53
public
:
54
enum
ElementInSet
{
55
InHTML
,
56
InHead
,
57
InBody
,
58
InTitle
,
59
InHeading
,
60
InDivision
,
61
InPreFormat
,
62
InAnchor
,
63
InNote
,
64
InAddress
,
65
InBlockQuote
,
66
InCredit
,
67
InBold
,
68
InItalic
,
69
InTeleType
,
70
InUnderline
,
71
InStrikeThrough
,
72
InBig
,
73
InSmall
,
74
InSubscript
,
75
InSuperscript
,
76
InEmphasis
,
77
InCite
,
78
InStrong
,
79
InCode
,
80
InSample
,
81
InKeyboard
,
82
InVariable
,
83
InDefinition
,
84
InQuote
,
85
InAuthor
,
86
InPerson
,
87
InAcronym
,
88
InAbbrev
,
89
InInsertedText
,
90
InDeletedText
,
91
InList
,
92
InListHeading
,
93
InDefinitionTerm
,
94
InTable
,
95
InForm
,
96
InSelect
,
97
InTextArea
,
98
NumElementsInSet
99
};
100
105
PHTML
(
106
ElementInSet
initialState =
NumElementsInSet
107
);
108
PHTML
(
109
const
char
* cstr
110
);
111
PHTML
(
112
const
PString
& str
113
);
114
115
~PHTML
();
116
121
PHTML
&
operator=
(
122
const
PHTML
& html
123
) {
AssignContents
(html);
return
*
this
; }
124
PHTML
&
operator=
(
125
const
PString
& str
126
) {
AssignContents
(str);
return
*
this
; }
127
PHTML
&
operator=
(
128
const
char
* cstr
129
) {
AssignContents
(
PString
(cstr));
return
*
this
; }
130
PHTML
&
operator=
(
131
char
ch
132
) {
AssignContents
(
PString
(ch));
return
*
this
; }
133
134
135
// New functions for class.
136
PBoolean
Is
(
ElementInSet
elmt)
const
;
137
void
Set
(
ElementInSet
elmt);
138
void
Clr
(
ElementInSet
elmt);
139
void
Toggle
(
ElementInSet
elmt);
140
141
142
class
Element
{
143
public
:
144
virtual
~Element
() {}
145
protected
:
146
enum
OptionalCRLF
{
NoCRLF
,
OpenCRLF
,
CloseCRLF
,
BothCRLF
};
147
Element
(
148
const
char
* nam,
149
const
char
* att,
150
ElementInSet
elmt,
151
ElementInSet
req,
152
OptionalCRLF
opt
153
) { name = nam; attr= att; inElement = elmt; reqElement = req; crlf = opt; }
154
virtual
void
Output
(
PHTML
& html)
const
;
155
virtual
void
AddAttr
(
PHTML
& html)
const
;
156
private
:
157
const
char
* name;
158
const
char
* attr;
159
ElementInSet
inElement;
160
ElementInSet
reqElement;
161
OptionalCRLF
crlf;
162
friend
ostream &
operator<<
(ostream & strm,
const
Element
& elmt)
163
{ elmt.
Output
((
PHTML
&)strm);
return
strm; }
164
};
165
166
class
HTML
:
public
Element
{
167
public
:
168
HTML
(
const
char
* attr = NULL);
169
virtual
~HTML
() {}
170
};
171
172
class
Head
:
public
Element
{
173
public
:
174
Head
();
175
virtual
~Head
() {}
176
protected
:
177
virtual
void
Output
(
PHTML
& html)
const
;
178
};
179
180
class
Body
:
public
Element
{
181
public
:
182
Body
(
const
char
* attr = NULL);
183
virtual
~Body
() {}
184
protected
:
185
virtual
void
Output
(
PHTML
& html)
const
;
186
};
187
188
class
Title
:
public
Element
{
189
public
:
190
Title
();
191
Title
(
const
char
* titleCStr);
192
Title
(
const
PString
& titleStr);
193
virtual
~Title
() {}
194
protected
:
195
virtual
void
Output
(
PHTML
& html)
const
;
196
private
:
197
const
char
* titleString;
198
};
199
200
class
Banner
:
public
Element
{
201
public
:
202
Banner
(
const
char
* attr = NULL);
203
virtual
~Banner
() {}
204
};
205
206
class
Division
:
public
Element
{
207
public
:
208
Division
(
const
char
* attr = NULL);
209
virtual
~Division
() {}
210
};
211
212
class
Heading
:
public
Element
{
213
public
:
214
Heading
(
int
number,
215
int
sequence = 0,
216
int
skip = 0,
217
const
char
* attr = NULL);
218
Heading
(
int
number,
219
const
char
* image,
220
int
sequence = 0,
221
int
skip = 0,
222
const
char
* attr = NULL);
223
Heading
(
int
number,
224
const
PString
& imageStr,
225
int
sequence = 0,
226
int
skip = 0,
227
const
char
* attr = NULL);
228
virtual
~Heading
() {}
229
protected
:
230
virtual
void
AddAttr
(
PHTML
& html)
const
;
231
private
:
232
int
num;
233
const
char
* srcString;
234
int
seqNum, skipSeq;
235
};
236
237
class
BreakLine
:
public
Element
{
238
public
:
239
BreakLine
(
const
char
* attr = NULL);
240
virtual
~BreakLine
() {}
241
};
242
243
class
Paragraph
:
public
Element
{
244
public
:
245
Paragraph
(
const
char
* attr = NULL);
246
virtual
~Paragraph
() {}
247
};
248
249
class
PreFormat
:
public
Element
{
250
public
:
251
PreFormat
(
int
widthInChars = 0,
252
const
char
* attr = NULL);
253
virtual
~PreFormat
() {}
254
protected
:
255
virtual
void
AddAttr
(
PHTML
& html)
const
;
256
private
:
257
int
width;
258
};
259
260
class
HotLink
:
public
Element
{
261
public
:
262
HotLink
(
const
char
* href = NULL,
const
char
* attr = NULL);
263
virtual
~HotLink
() {}
264
protected
:
265
virtual
void
AddAttr
(
PHTML
& html)
const
;
266
private
:
267
const
char
* hrefString;
268
};
269
270
class
Target
:
public
Element
{
271
public
:
272
Target
(
const
char
* name = NULL,
const
char
* attr = NULL);
273
virtual
~Target
() {}
274
protected
:
275
virtual
void
AddAttr
(
PHTML
& html)
const
;
276
private
:
277
const
char
* nameString;
278
};
279
280
class
ImageElement
:
public
Element
{
281
protected
:
282
ImageElement
(
const
char
* nam,
283
const
char
* attr,
284
ElementInSet
elmt,
285
ElementInSet
req,
286
OptionalCRLF
opt,
287
const
char
* image);
288
virtual
~ImageElement
() {}
289
virtual
void
AddAttr
(
PHTML
& html)
const
;
290
const
char
*
srcString
;
291
};
292
293
class
Image
:
public
ImageElement
{
294
public
:
295
Image
(
const
char
* src,
296
int
width = 0,
297
int
height = 0,
298
const
char
* attr = NULL);
299
Image
(
const
char
* src,
300
const
char
* alt,
301
int
width = 0,
302
int
height = 0,
303
const
char
* attr = NULL);
304
virtual
~Image
() {}
305
protected
:
306
virtual
void
AddAttr
(
PHTML
& html)
const
;
307
private
:
308
const
char
* altString;
309
int
width, height;
310
};
311
312
class
HRule
:
public
ImageElement
{
313
public
:
314
HRule
(
const
char
* image = NULL,
const
char
* attr = NULL);
315
virtual
~HRule
() {}
316
};
317
318
class
Note
:
public
ImageElement
{
319
public
:
320
Note
(
const
char
* image = NULL,
const
char
* attr = NULL);
321
virtual
~Note
() {}
322
};
323
324
class
Address
:
public
Element
{
325
public
:
326
Address
(
const
char
* attr = NULL);
327
virtual
~Address
() {}
328
};
329
330
class
BlockQuote
:
public
Element
{
331
public
:
332
BlockQuote
(
const
char
* attr = NULL);
333
virtual
~BlockQuote
() {}
334
};
335
336
class
Credit
:
public
Element
{
337
public
:
338
Credit
(
const
char
* attr = NULL);
339
virtual
~Credit
() {}
340
};
341
342
class
SetTab
:
public
Element
{
343
public
:
344
SetTab
(
const
char
*
id
,
const
char
* attr = NULL);
345
virtual
~SetTab
() {}
346
protected
:
347
virtual
void
AddAttr
(
PHTML
& html)
const
;
348
private
:
349
const
char
* ident;
350
};
351
352
class
Tab
:
public
Element
{
353
public
:
354
Tab
(
int
indent,
const
char
* attr = NULL);
355
Tab
(
const
char
*
id
,
const
char
* attr = NULL);
356
virtual
~Tab
() {}
357
protected
:
358
virtual
void
AddAttr
(
PHTML
& html)
const
;
359
private
:
360
const
char
* ident;
361
int
indentSize;
362
};
363
364
365
class
Bold
:
public
Element
{
366
public
:
Bold
() :
Element
(
"B"
, NULL,
InBold
,
InBody
,
NoCRLF
) { }
367
virtual
~Bold
() {}
368
};
369
class
Italic
:
public
Element
{
370
public
:
371
Italic
()
372
:
Element
(
"I"
, NULL,
InItalic
,
InBody
,
NoCRLF
) { }
373
virtual
~Italic
() {}
374
};
375
class
TeleType
:
public
Element
{
376
public
:
377
TeleType
()
378
:
Element
(
"TT"
, NULL,
InTeleType
,
InBody
,
NoCRLF
) { }
379
virtual
~TeleType
() {}
380
};
381
class
Underline
:
public
Element
{
382
public
:
383
Underline
()
384
:
Element
(
"U"
, NULL,
InUnderline
,
InBody
,
NoCRLF
) { }
385
virtual
~Underline
() {}
386
};
387
class
StrikeThrough
:
public
Element
{
388
public
:
389
StrikeThrough
()
390
:
Element
(
"S"
, NULL,
InStrikeThrough
,
InBody
,
NoCRLF
) { }
391
virtual
~StrikeThrough
() {}
392
};
393
class
Big
:
public
Element
{
394
public
:
395
Big
()
396
:
Element
(
"BIG"
, NULL,
InBig
,
InBody
,
NoCRLF
) { }
397
virtual
~Big
() {}
398
};
399
class
Small
:
public
Element
{
400
public
:
401
Small
()
402
:
Element
(
"SMALL"
, NULL,
InSmall
,
InBody
,
NoCRLF
) { }
403
virtual
~Small
() {}
404
};
405
class
Subscript
:
public
Element
{
406
public
:
407
Subscript
()
408
:
Element
(
"SUB"
, NULL,
InSubscript
,
InBody
,
NoCRLF
) { }
409
virtual
~Subscript
() {}
410
};
411
class
Superscript
:
public
Element
{
412
public
:
413
Superscript
()
414
:
Element
(
"SUP"
, NULL,
InSuperscript
,
InBody
,
NoCRLF
) { }
415
virtual
~Superscript
() {}
416
};
417
class
Emphasis
:
public
Element
{
418
public
:
419
Emphasis
()
420
:
Element
(
"EM"
, NULL,
InEmphasis
,
InBody
,
NoCRLF
) { }
421
virtual
~Emphasis
() {}
422
};
423
class
Cite
:
public
Element
{
424
public
:
425
Cite
()
426
:
Element
(
"CITE"
, NULL,
InCite
,
InBody
,
NoCRLF
) { }
427
virtual
~Cite
() {}
428
};
429
class
Strong
:
public
Element
{
430
public
:
431
Strong
()
432
:
Element
(
"STRONG"
, NULL,
InStrong
,
InBody
,
NoCRLF
) { }
433
virtual
~Strong
() {}
434
};
435
class
Code
:
public
Element
{
436
public
:
437
Code
()
438
:
Element
(
"CODE"
, NULL,
InCode
,
InBody
,
NoCRLF
) { }
439
virtual
~Code
() {}
440
};
441
class
Sample
:
public
Element
{
442
public
:
443
Sample
()
444
:
Element
(
"SAMP"
, NULL,
InSample
,
InBody
,
NoCRLF
) { }
445
virtual
~Sample
() {}
446
};
447
class
Keyboard
:
public
Element
{
448
public
:
449
Keyboard
()
450
:
Element
(
"KBD"
, NULL,
InKeyboard
,
InBody
,
NoCRLF
) { }
451
virtual
~Keyboard
() {}
452
};
453
class
Variable
:
public
Element
{
454
public
:
455
Variable
()
456
:
Element
(
"VAR"
, NULL,
InVariable
,
InBody
,
NoCRLF
) { }
457
virtual
~Variable
() {}
458
};
459
class
Definition
:
public
Element
{
460
public
:
461
Definition
()
462
:
Element
(
"DFN"
, NULL,
InDefinition
,
InBody
,
NoCRLF
) { }
463
virtual
~Definition
() {}
464
};
465
class
Quote
:
public
Element
{
466
public
:
467
Quote
()
468
:
Element
(
"Q"
, NULL,
InQuote
,
InBody
,
NoCRLF
) { }
469
virtual
~Quote
() {}
470
};
471
class
Author
:
public
Element
{
472
public
:
473
Author
()
474
:
Element
(
"AU"
, NULL,
InAuthor
,
InBody
,
NoCRLF
) { }
475
virtual
~Author
() {}
476
};
477
class
Person
:
public
Element
{
478
public
:
479
Person
()
480
:
Element
(
"PERSON"
, NULL,
InPerson
,
InBody
,
NoCRLF
) { }
481
virtual
~Person
() {}
482
};
483
class
Acronym
:
public
Element
{
484
public
:
485
Acronym
()
486
:
Element
(
"ACRONYM"
, NULL,
InAcronym
,
InBody
,
NoCRLF
) { }
487
virtual
~Acronym
() {}
488
};
489
class
Abbrev
:
public
Element
{
490
public
:
491
Abbrev
()
492
:
Element
(
"ABBREV"
, NULL,
InAbbrev
,
InBody
,
NoCRLF
) { }
493
virtual
~Abbrev
() {}
494
};
495
class
InsertedText
:
public
Element
{
496
public
:
497
InsertedText
()
498
:
Element
(
"INS"
, NULL,
InInsertedText
,
InBody
,
NoCRLF
) { }
499
virtual
~InsertedText
() {}
500
};
501
class
DeletedText
:
public
Element
{
502
public
:
503
DeletedText
()
504
:
Element
(
"DEL"
, NULL,
InDeletedText
,
InBody
,
NoCRLF
) { }
505
public
:
506
virtual
~DeletedText
() {}
507
};
508
509
class
SimpleList
:
public
Element
{
510
public
:
511
SimpleList
(
const
char
* attr = NULL);
512
virtual
~SimpleList
() {}
513
protected
:
514
virtual
void
AddAttr
(
PHTML
& html)
const
;
515
};
516
517
class
BulletList
:
public
Element
{
518
public
:
519
BulletList
(
const
char
* attr = NULL);
520
virtual
~BulletList
() {}
521
};
522
523
class
OrderedList
:
public
Element
{
524
public
:
525
OrderedList
(
int
seqNum = 0,
const
char
* attr = NULL);
526
virtual
~OrderedList
() {}
527
protected
:
528
virtual
void
AddAttr
(
PHTML
& html)
const
;
529
private
:
530
int
sequenceNum;
531
};
532
533
class
DefinitionList
:
public
Element
{
534
public
:
535
DefinitionList
(
const
char
* attr = NULL);
536
virtual
~DefinitionList
() {}
537
};
538
539
class
ListHeading
:
public
Element
{
540
public
:
541
ListHeading
(
const
char
* attr = NULL);
542
virtual
~ListHeading
() {}
543
};
544
545
class
ListItem
:
public
Element
{
546
public
:
547
ListItem
(
int
skip = 0,
const
char
* attr = NULL);
548
virtual
~ListItem
() {}
549
protected
:
550
virtual
void
AddAttr
(
PHTML
& html)
const
;
551
private
:
552
int
skipSeq;
553
};
554
555
class
DefinitionTerm
:
public
Element
{
556
public
:
557
DefinitionTerm
(
const
char
* attr = NULL);
558
virtual
~DefinitionTerm
() {}
559
protected
:
560
virtual
void
Output
(
PHTML
& html)
const
;
561
};
562
563
class
DefinitionItem
:
public
Element
{
564
public
:
565
DefinitionItem
(
const
char
* attr = NULL);
566
virtual
~DefinitionItem
() {}
567
protected
:
568
virtual
void
Output
(
PHTML
& html)
const
;
569
};
570
571
572
enum
BorderCodes
{
573
NoBorder
,
574
Border
575
};
576
class
TableStart
:
public
Element
{
577
public
:
578
TableStart
(
const
char
* attr = NULL);
579
TableStart
(
BorderCodes
border,
const
char
* attr = NULL);
580
virtual
~TableStart
() {}
581
protected
:
582
virtual
void
Output
(
PHTML
& html)
const
;
583
virtual
void
AddAttr
(
PHTML
& html)
const
;
584
private
:
585
PBoolean
borderFlag;
586
};
587
friend
class
TableStart
;
588
589
class
TableEnd
:
public
Element
{
590
public
:
591
TableEnd
();
592
virtual
~TableEnd
() {}
593
protected
:
594
virtual
void
Output
(
PHTML
& html)
const
;
595
};
596
friend
class
TableEnd
;
597
598
class
TableRow
:
public
Element
{
599
public
:
600
TableRow
(
const
char
* attr = NULL);
601
virtual
~TableRow
() {}
602
};
603
604
class
TableHeader
:
public
Element
{
605
public
:
606
TableHeader
(
const
char
* attr = NULL);
607
virtual
~TableHeader
() {}
608
};
609
610
class
TableData
:
public
Element
{
611
public
:
612
TableData
(
const
char
* attr = NULL);
613
virtual
~TableData
() {}
614
};
615
616
617
class
Form
:
public
Element
{
618
public
:
619
Form
(
620
const
char
* method = NULL,
621
const
char
* action = NULL,
622
const
char
* encoding = NULL,
623
const
char
* script = NULL
624
);
625
virtual
~Form
() {}
626
protected
:
627
virtual
void
AddAttr
(
PHTML
& html)
const
;
628
private
:
629
const
char
* methodString;
630
const
char
* actionString;
631
const
char
* mimeTypeString;
632
const
char
* scriptString;
633
};
634
635
enum
DisableCodes
{
636
Enabled
,
637
Disabled
638
};
639
class
FieldElement
:
public
Element
{
640
protected
:
641
FieldElement
(
642
const
char
* nam,
643
const
char
* attr,
644
ElementInSet
elmt,
645
OptionalCRLF
opt,
646
DisableCodes
disabled
647
);
648
virtual
~FieldElement
() {}
649
virtual
void
AddAttr
(
PHTML
& html)
const
;
650
private
:
651
PBoolean
disabledFlag;
652
};
653
654
class
Select
:
public
FieldElement
{
655
public
:
656
Select
(
657
const
char
* fname = NULL,
658
const
char
* attr = NULL
659
);
660
Select
(
661
const
char
* fname,
662
DisableCodes
disabled,
663
const
char
* attr = NULL
664
);
665
virtual
~Select
() {}
666
protected
:
667
virtual
void
AddAttr
(
PHTML
& html)
const
;
668
private
:
669
const
char
* nameString;
670
};
671
672
enum
SelectionCodes
{
673
NotSelected
,
674
Selected
675
};
676
class
Option
:
public
FieldElement
{
677
public
:
678
Option
(
679
const
char
* attr = NULL
680
);
681
Option
(
682
SelectionCodes
select,
683
const
char
* attr = NULL
684
);
685
Option
(
686
DisableCodes
disabled,
687
const
char
* attr = NULL
688
);
689
Option
(
690
SelectionCodes
select,
691
DisableCodes
disabled,
692
const
char
* attr = NULL
693
);
694
virtual
~Option
() {}
695
protected
:
696
virtual
void
AddAttr
(
PHTML
& html)
const
;
697
private
:
698
PBoolean
selectedFlag;
699
};
700
701
class
FormField
:
public
FieldElement
{
702
protected
:
703
FormField
(
704
const
char
* nam,
705
const
char
* attr,
706
ElementInSet
elmt,
707
OptionalCRLF
opt,
708
DisableCodes
disabled,
709
const
char
* fname
710
);
711
virtual
~FormField
() {}
712
virtual
void
AddAttr
(
PHTML
& html)
const
;
713
private
:
714
const
char
* nameString;
715
};
716
717
class
TextArea
:
public
FormField
{
718
public
:
719
TextArea
(
720
const
char
* fname,
721
DisableCodes
disabled =
Enabled
,
722
const
char
* attr = NULL
723
);
724
TextArea
(
725
const
char
* fname,
726
int
rows,
int
cols,
727
DisableCodes
disabled =
Enabled
,
728
const
char
* attr = NULL
729
);
730
virtual
~TextArea
() {}
731
protected
:
732
virtual
void
AddAttr
(
PHTML
& html)
const
;
733
private
:
734
int
numRows, numCols;
735
};
736
737
class
InputField
:
public
FormField
{
738
protected
:
739
InputField
(
740
const
char
* type,
741
const
char
* fname,
742
DisableCodes
disabled,
743
const
char
* attr
744
);
745
virtual
~InputField
() {}
746
virtual
void
AddAttr
(
PHTML
& html)
const
;
747
private
:
748
const
char
* typeString;
749
};
750
751
class
HiddenField
:
public
InputField
{
752
public
:
753
HiddenField
(
754
const
char
* fname,
755
const
char
* value,
756
const
char
* attr = NULL
757
);
758
virtual
~HiddenField
() {}
759
protected
:
760
virtual
void
AddAttr
(
PHTML
& html)
const
;
761
private
:
762
const
char
* valueString;
763
};
764
765
class
InputText
:
public
InputField
{
766
public
:
767
InputText
(
768
const
char
* fname,
769
int
size,
770
const
char
* init = NULL,
771
const
char
* attr = NULL
772
);
773
InputText
(
774
const
char
* fname,
775
int
size,
776
DisableCodes
disabled,
777
const
char
* attr = NULL
778
);
779
InputText
(
780
const
char
* fname,
781
int
size,
782
int
maxLength,
783
DisableCodes
disabled =
Enabled
,
784
const
char
* attr = NULL
785
);
786
InputText
(
787
const
char
* fname,
788
int
size,
789
const
char
* init,
790
int
maxLength,
791
DisableCodes
disabled =
Enabled
,
792
const
char
* attr = NULL
793
);
794
virtual
~InputText
() {}
795
protected
:
796
InputText
(
797
const
char
* type,
798
const
char
* fname,
799
int
size,
800
const
char
* init,
801
int
maxLength,
802
DisableCodes
disabled,
803
const
char
* attr
804
);
805
virtual
void
AddAttr
(
PHTML
& html)
const
;
806
private
:
807
const
char
* value;
808
int
width, length;
809
};
810
811
class
InputPassword
:
public
InputText
{
812
public
:
813
InputPassword
(
814
const
char
* fname,
815
int
size,
816
const
char
* init = NULL,
817
const
char
* attr = NULL
818
);
819
InputPassword
(
820
const
char
* fname,
821
int
size,
822
DisableCodes
disabled,
823
const
char
* attr = NULL
824
);
825
InputPassword
(
826
const
char
* fname,
827
int
size,
828
int
maxLength,
829
DisableCodes
disabled =
Enabled
,
830
const
char
* attr = NULL
831
);
832
InputPassword
(
833
const
char
* fname,
834
int
size,
835
const
char
* init,
836
int
maxLength,
837
DisableCodes
disabled =
Enabled
,
838
const
char
* attr = NULL
839
);
840
virtual
~InputPassword
() {}
841
};
842
843
enum
CheckedCodes
{
844
UnChecked
,
845
Checked
846
};
847
class
RadioButton
:
public
InputField
{
848
public
:
849
RadioButton
(
850
const
char
* fname,
851
const
char
* value,
852
const
char
* attr = NULL
853
);
854
RadioButton
(
855
const
char
* fname,
856
const
char
* value,
857
DisableCodes
disabled,
858
const
char
* attr = NULL
859
);
860
RadioButton
(
861
const
char
* fname,
862
const
char
* value,
863
CheckedCodes
check,
864
DisableCodes
disabled =
Enabled
,
865
const
char
* attr = NULL
866
);
867
virtual
~RadioButton
() {}
868
protected
:
869
RadioButton
(
870
const
char
* type,
871
const
char
* fname,
872
const
char
* value,
873
CheckedCodes
check,
874
DisableCodes
disabled,
875
const
char
* attr
876
);
877
virtual
void
AddAttr
(
PHTML
& html)
const
;
878
private
:
879
const
char
* valueString;
880
PBoolean
checkedFlag;
881
};
882
883
class
CheckBox
:
public
RadioButton
{
884
public
:
885
CheckBox
(
886
const
char
* fname,
887
const
char
* attr = NULL
888
);
889
CheckBox
(
890
const
char
* fname,
891
DisableCodes
disabled,
892
const
char
* attr = NULL
893
);
894
CheckBox
(
895
const
char
* fname,
896
CheckedCodes
check,
897
DisableCodes
disabled =
Enabled
,
898
const
char
* attr = NULL
899
);
900
virtual
~CheckBox
() {}
901
};
902
903
904
class
InputNumber
:
public
InputField
{
905
public
:
906
InputNumber
(
907
const
char
* fname,
908
int
min,
int
max,
909
int
value = 0,
910
DisableCodes
disabled =
Enabled
,
911
const
char
* attr = NULL
912
);
913
virtual
~InputNumber
() {}
914
protected
:
915
InputNumber
(
916
const
char
* type,
917
const
char
* fname,
918
int
min,
int
max,
919
int
value,
920
DisableCodes
disabled,
921
const
char
* attr
922
);
923
virtual
void
AddAttr
(
PHTML
& html)
const
;
924
private
:
925
void
Construct(
int
min,
int
max,
int
value);
926
int
minValue, maxValue, initValue;
927
};
928
929
class
InputRange
:
public
InputNumber
{
930
public
:
931
InputRange
(
932
const
char
* fname,
933
int
min,
int
max,
934
int
value = 0,
935
DisableCodes
disabled =
Enabled
,
936
const
char
* attr = NULL
937
);
938
virtual
~InputRange
() {}
939
};
940
941
class
InputFile
:
public
InputField
{
942
public
:
943
InputFile
(
944
const
char
* fname,
945
const
char
* accept = NULL,
946
DisableCodes
disabled =
Enabled
,
947
const
char
* attr = NULL
948
);
949
virtual
~InputFile
() {}
950
protected
:
951
virtual
void
AddAttr
(
PHTML
& html)
const
;
952
private
:
953
const
char
* acceptString;
954
};
955
956
class
InputImage
:
public
InputField
{
957
public
:
958
InputImage
(
959
const
char
* fname,
960
const
char
* src = NULL,
961
DisableCodes
disabled =
Enabled
,
962
const
char
* attr = NULL
963
);
964
virtual
~InputImage
() {}
965
protected
:
966
InputImage
(
967
const
char
* type,
968
const
char
* fname,
969
const
char
* src,
970
DisableCodes
disabled,
971
const
char
* attr
972
);
973
virtual
void
AddAttr
(
PHTML
& html)
const
;
974
private
:
975
const
char
* srcString;
976
};
977
978
class
InputScribble
:
public
InputImage
{
979
public
:
980
InputScribble
(
981
const
char
* fname,
982
const
char
* src = NULL,
983
DisableCodes
disabled =
Enabled
,
984
const
char
* attr = NULL
985
);
986
virtual
~InputScribble
() {}
987
};
988
989
class
ResetButton
:
public
InputImage
{
990
public
:
991
ResetButton
(
992
const
char
* title,
993
const
char
* fname = NULL,
994
const
char
* src = NULL,
995
DisableCodes
disabled =
Enabled
,
996
const
char
* attr = NULL
997
);
998
virtual
~ResetButton
() {}
999
protected
:
1000
ResetButton
(
1001
const
char
* type,
1002
const
char
* title,
1003
const
char
* fname = NULL,
1004
const
char
* src = NULL,
1005
DisableCodes
disabled =
Enabled
,
1006
const
char
* attr = NULL
1007
);
1008
virtual
void
AddAttr
(
PHTML
& html)
const
;
1009
private
:
1010
const
char
* titleString;
1011
};
1012
1013
class
SubmitButton
:
public
ResetButton
{
1014
public
:
1015
SubmitButton
(
1016
const
char
* title,
1017
const
char
* fname = NULL,
1018
const
char
* src = NULL,
1019
DisableCodes
disabled =
Enabled
,
1020
const
char
* attr = NULL
1021
);
1022
virtual
~SubmitButton
() {}
1023
};
1024
1025
1026
protected
:
1027
virtual
void
AssignContents
(
const
PContainer
& c);
1028
1029
private
:
1030
ElementInSet
initialElement;
1031
BYTE elementSet[
NumElementsInSet
/8+1];
1032
PINDEX tableNestLevel;
1033
};
1034
1035
1036
#endif // PTLIB_HTML_H
1037
1038
1039
// End Of File ///////////////////////////////////////////////////////////////
include
ptclib
html.h
Generated on Tue May 7 2013 17:25:45 for PTLib by
1.8.3.1