82 if (p->
fFrame == 0)
continue;
83 if (p->
fY < y + h && p->
fY + p->
fH > y &&
84 p->
fX < x + w && p->
fX + p->
fW > x) {
114 for (; p; p = p->
fINext) {
158 for (i = 0; i < int(
sizeof(types) /
sizeof(types[0])); i++) {
159 if (strcasecmp(types[i].zName, z) == 0) {
160 type = types[i].type;
249 while (pFirs && pFirs != pEnd) {
250 switch (pFirs->
fType) {
260 static char zSpaces[] =
" ";
262 while (cnt > (
int)
sizeof(zSpaces) - 1) {
263 str->
Append(zSpaces,
sizeof(zSpaces) - 1);
264 cnt -=
sizeof(zSpaces) - 1;
267 str->
Append(zSpaces, cnt);
284 virtual ~TGHtmlLBEntry() {
if (fVal)
delete fVal; }
286 const char *GetValue()
const {
return fVal ? fVal->
GetString() : 0; }
313 const char *zValue = p->
MarkupArg(
"value",
"");
314 const char *sel = p->
MarkupArg(
"selected",
"");
315 if (sel && !strcmp(sel,
"selected"))
321 while (p && p != pEnd &&
361 if (pElem->
fSized)
return 0;
417 if (!z) z =
"Submit";
429 const char *
z = pElem->
MarkupArg(
"maxlength", 0);
430 int maxlen = z ? atoi(z) : 256;
431 if (maxlen < 2) maxlen = 2;
433 int size = z ? atoi(z) * 5 : 150;
445 const char *
z = pElem->
MarkupArg(
"maxlength", 0);
446 int maxlen = z ? atoi(z) : 256;
447 if (maxlen < 2) maxlen = 2;
449 int size = z ? atoi(z) * 5 : 150;
463 int size = z ? atoi(z) : 1;
464 UInt_t width = 0, height = 0;
474 TGHtmlLBEntry *te = (TGHtmlLBEntry *)lb->
GetEntry(i);
475 if (te && te->GetText())
476 width =
TMath::Max(width, te->GetDefaultWidth());
479 cb->
Resize(width > 0 ? width+30 : 200,
480 height > 22 ? height : 22);
489 TGHtmlLBEntry *te = (TGHtmlLBEntry *)lb->
GetEntry(i);
490 if (te && te->GetText())
491 width =
TMath::Max(width, te->GetDefaultWidth());
494 lb->
Resize(width > 0 ? width+30 : 200, height * size);
569 const char *
name, *
z;
589 if ((z = q->
MarkupArg(
"name", 0)) && !strcmp(z, name)) {
628 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
629 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
630 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
632 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
634 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
637 #define NeedToEscape(C) ((C)>0 && (C)<127 && gNeedEscape[(int)(C)]) 648 if (i > 0) str->
Append(z, i);
653 }
else if (*z ==
'\n') {
655 }
else if (*z ==
'\r') {
659 snprintf(zBuf, 10,
"%%%02X", 0xff & *z);
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
#define INPUT_TYPE_TextArea
virtual void MapSubwindows()
virtual void Resize(UInt_t w, UInt_t h)
Resize the listbox widget.
virtual void AddEntry(TGString *s, Int_t id)
Add entry with specified string and id to listbox.
virtual UInt_t GetOptions() const
virtual void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0)
Move and/or resize the frame.
#define INPUT_TYPE_Checkbox
virtual TGFrame * GetContainer() const
void AppendText(TGString *str, TGHtmlElement *pFirst, TGHtmlElement *pEnd)
Append all text and space tokens between pStart and pEnd to the given TString.
UInt_t GetItemVsize() const
#define INPUT_TYPE_Hidden
void SizeAndLink(TGFrame *frame, TGHtmlInput *pElem)
'frame' is the child widget that is used to implement an input element.
#define INPUT_TYPE_Unknown
void DeleteControls()
Delete all input controls.
virtual void SetMultipleSelections(Bool_t multi=kTRUE)
void AddFormInfo(TGHtmlElement *p)
Add the DOM control information for form elements.
void AddSelectOptions(TGListBox *lb, TGHtmlElement *p, TGHtmlElement *pEnd)
The "p" argument points to a <select>.
#define INPUT_TYPE_Button
void UnmapControls()
Unmap any input control that is currently mapped.
virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
Process scrollbar messages.
virtual const char * MarkupArg(const char *, const char *)
int MapControls()
Map any control that should be visible according to the current scroll position.
static double p2(double t, double a, double b, double c)
virtual void Select(Int_t id, Bool_t emit=kTRUE)
Make the selected item visible in the combo box window and emit signals according to the second param...
TString & Append(const char *cs)
virtual void SetBackgroundColor(Pixel_t back)
Set background color (override from TGWindow base class).
ColorStruct_t * fApColor[N_COLOR]
TGHtmlInput * fFirstInput
int ControlSize(TGHtmlInput *p)
This routine implements the Sizer() function for <INPUT>, <SELECT> and <TEXTAREA> markup...
virtual Bool_t ProcessMessage(Long_t, Long_t, Long_t)
Process messages (GUI events) in the html widget.
virtual void RequestFocus()
virtual TGLBEntry * GetEntry(Int_t id) const
Returns list box entry with specified id.
virtual TGLBEntry * Select(Int_t id, Bool_t sel=kTRUE)
#define INPUT_TYPE_Select
virtual TGLBEntry * GetSelectedEntry() const
virtual TGDimension GetDefaultSize() const
returns default size
virtual TGListBox * GetListBox() const
void EncodeText(TGString *str, const char *z)
Append to the given TString an encoded version of the given text.
int FormCount(TGHtmlInput *p, int radio)
Return the number of elments of type p in a form.
TGHtmlInput * fFormElemLast
virtual TGFrame * ProcessApplet(TGHtmlInput *)
virtual UInt_t GetDefaultWidth() const
static double p1(double t, double a, double b)
virtual Int_t GetNumberOfEntries() const
const char * GetString() const
virtual UInt_t GetDefaultHeight() const
static constexpr double s
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
you should not use this method at all Int_t Int_t z
virtual void Layout()
Layout the listbox components.
virtual void UnmapWindow()
#define INPUT_TYPE_Submit
Short_t Max(Short_t a, Short_t b)
#define INPUT_TYPE_Applet
virtual void AppendText(const char *text)
Appends text to the end of text entry, clears the selection and moves the cursor to the end of the li...
virtual const char * MarkupArg(const char *tag, const char *zDefault)
Lookup an argument in the given markup with the name given.
virtual void SetEchoMode(EEchoMode mode=kNormal)
The echo modes available are:
virtual void ChangeOptions(UInt_t options)
Change frame options. Options is an OR of the EFrameTypes.
virtual void DestroyWindow()
#define INPUT_TYPE_Password