ide: XmlView, S_ methods support

git-svn-id: svn://ultimatepp.org/upp/trunk@6532 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2013-11-06 15:17:12 +00:00
parent 6c5057b041
commit 9ce2d73579
9 changed files with 249 additions and 52 deletions

View file

@ -172,7 +172,6 @@ struct S_type {
static SqlSet Of(SqlId table);
static const Vector<SqlId>& GetColumnIds();
void Shrink();
void Clear();
void FieldLayoutRaw(FieldOperator& f, const String& prefix = String());

View file

@ -0,0 +1,21 @@
PREMULTIPLIED
IMAGE_ID(Tag)
IMAGE_ID(Text)
IMAGE_ID(PI)
IMAGE_ID(Decl)
IMAGE_ID(Comment)
IMAGE_ID(Icon)
IMAGE_BEGIN_DATA
IMAGE_DATA(120,156,237,152,129,17,131,32,12,69,211,13,218,225,156,167,157,199,41,28,194,125,168,208,234,33,36,36,64,84,106,253)
IMAGE_DATA(119,57,109,241,63,163,9,180,7,60,224,14,0,55,248,3,117,83,24,34,58,137,127,146,25,199,209,132,178,223,217,49)
IMAGE_DATA(134,227,252,125,223,71,254,89,118,44,193,137,252,0,207,41,94,75,48,28,244,254,190,79,144,15,154,191,159,7,197,249)
IMAGE_DATA(190,103,173,60,52,222,135,86,93,180,250,99,225,64,93,159,30,39,187,152,24,195,95,247,131,162,10,34,13,199,40,213)
IMAGE_DATA(86,140,112,178,96,199,245,56,158,135,63,217,66,70,124,206,51,184,207,123,229,81,202,200,145,54,67,161,79,219,208,137)
IMAGE_DATA(255,153,104,20,196,216,118,17,133,6,39,151,49,47,28,26,185,132,156,146,92,90,120,47,84,30,71,213,168,148,115,45)
IMAGE_DATA(38,205,171,182,72,210,86,169,102,72,253,159,95,221,109,24,57,207,160,193,208,240,99,121,236,157,67,46,35,35,218,214)
IMAGE_DATA(181,152,136,139,228,174,29,134,1,13,1,139,244,18,44,145,223,78,30,236,28,225,36,238,71,51,2,78,145,159,99,72)
IMAGE_DATA(252,220,243,100,230,160,89,23,173,254,136,88,72,180,173,251,121,247,76,172,74,87,122,55,206,137,224,176,62,130,179,242)
IMAGE_DATA(166,246,68,252,99,152,75,202,143,237,181,80,254,240,26,141,251,107,251,37,123,67,18,97,53,172,168,191,70,255,29,162)
IMAGE_DATA(55,201,15,122,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
IMAGE_END_DATA(352, 6)

View file

@ -20,15 +20,47 @@ void ScanSchFile(const char *fn)
String s = LoadFile(fn);
CParser p(s);
String r, rr;
String S_name;
int line;
while(!p.IsEof())
try {
line = p.GetLine();
if(p.Id("TABLE") || p.Id("TABLE_") || p.Id("TYPE") || p.Id("TYPE_"))
r << "struct S_" << ReadId(p, rr) << " {";
if(p.Id("TABLE") || p.Id("TABLE_") || p.Id("TYPE") || p.Id("TYPE_")) {
S_name = "S_" + ReadId(p, rr);
r << "struct " << S_name << " {";
}
else
if(p.Id("END_TABLE") || p.Id("END_TYPE"))
r << "};";
r <<
"static const char TableName[];"
"static const SqlSet& ColumnSet();"
"static SqlSet ColumnSet(const String& prefix);"
"static SqlSet Of(SqlId table);"
"static const Vector<SqlId>& GetColumnIds();"
""
"void Clear();"
""
"void FieldLayoutRaw(FieldOperator& f, const String& prefix = String());"
"void FieldLayout(FieldOperator& f);"
"operator Fields();"
""
"bool operator==(const " << S_name << "& x) const;"
"bool operator!=(const " << S_name << "& x) const;"
"String ToString() const;"
""
"int GetCount() const;"
"SqlId GetId(int i) const;"
"Ref GetRef(int i);"
"Ref GetRef(const SqlId& id);"
"Value Get(const SqlId& id) const;"
"Value Get(int i) const;"
"ValueMap Get() const;"
"void Set(int i, const Value& v);"
"void Set(const SqlId& id, const Value& v);"
"void Set(const ValueMap& m);"
<< S_name << "();"
<< S_name << "(const ValueMap& m);"
"};";
else
if(p.Id("LONGRAW") || p.Id("LONGRAW_") || p.Id("BLOB") || p.Id("BLOB_") ||
p.Id("STRING_") || p.Id("STRING") || p.Id("CLOB") || p.Id("CLOB_"))

121
uppsrc/ide/Xml.cpp Normal file
View file

@ -0,0 +1,121 @@
#include "ide.h"
struct XmlView : public TopWindow {
TreeCtrl xml;
LineEdit view;
FrameTop<StaticRect> errorbg;
Label error;
ParentCtrl data;
void Load(int parent, XmlParser& p);
void Load(const String& txt);
void CopyPath();
typedef XmlView CLASSNAME;
void Serialize(Stream& s);
XmlView();
};
void XmlView::Load(int parent, XmlParser& p)
{
if(p.IsTag()) {
String tag = p.ReadTag();
String txt = tag;
for(int i = 0; i < p.GetAttrCount(); i++)
txt << ' ' << p.GetAttr(i) << "=\"" << p[i] << "\"";
parent = xml.Add(parent, IdeImg::XmlTag(), tag, txt);
while(!p.End()) {
if(p.IsEof())
throw XmlError("Unexpected end of text.");
Load(parent, p);
}
}
else
if(p.IsText())
xml.Add(parent, IdeImg::XmlText(), Null, NormalizeSpaces(p.ReadText()));
else
if(p.IsPI())
xml.Add(parent, IdeImg::XmlPI(), Null, NormalizeSpaces(p.ReadPI()));
else
if(p.IsDecl())
xml.Add(parent, IdeImg::XmlDecl(), Null, NormalizeSpaces(p.ReadDecl()));
else
if(p.IsComment())
xml.Add(parent, IdeImg::XmlComment(), Null, NormalizeSpaces(p.ReadComment()));
else
throw XmlError("Unexpected input.");
}
void XmlView::Load(const String& txt)
{
XmlParser p(txt);
xml.Clear();
try {
while(!p.IsEof())
Load(0, p);
}
catch(XmlError e) {
error = "XML parsing error: " + e;
view.Show();
view <<= txt;
view.SetCursor(view.GetPos(p.GetLine() - 1, p.GetColumn() - 1));
view.SetFocus();
return;
}
xml.Show();
xml.SetFocus();
}
void XmlView::Serialize(Stream& s)
{
int version = 0;
s / version;
SerializePlacement(s);
}
void XmlView::CopyPath()
{
String path;
int id = xml.GetCursor();
while(id >= 0) {
String tag = xml.Get(id);
if(tag.GetCount())
path = "[" + AsCString(tag) + "]" + path;
id = xml.GetParent(id);
}
WriteClipboardText(path);
}
XmlView::XmlView()
{
xml.NoRoot();
error.SetFont(Arial(20)).SetInk(Red);
errorbg.Height(25).Add(error.SizePos());
view.AddFrame(errorbg);
view.SetReadOnly();
view.SetColor(LineEdit::PAPER_READONLY, SColorPaper());
xml.Hide();
view.Hide();
Add(xml.SizePos());
Add(view.SizePos());
Sizeable().Zoomable();
Icon(IdeImg::XmlIcon());
xml.WhenLeftDouble = THISBACK(CopyPath);
}
void Ide::Xml()
{
XmlView dlg;
LoadFromGlobal(dlg, "XMLview");
dlg.Load(editor.IsSelection() ? editor.GetSelection() : editor.Get());
dlg.Execute();
StoreToGlobal(dlg, "XMLview");
}

View file

@ -967,6 +967,7 @@ public:
void ContextGoto();
void CtrlClick(int pos);
void Qtf();
void Xml();
void ConsoleMenu(Bar& menu);

View file

@ -81,6 +81,12 @@ IMAGE_ID(Patch)
IMAGE_ID(GoPrev)
IMAGE_ID(GoNext)
IMAGE_ID(qtf)
IMAGE_ID(XmlTag)
IMAGE_ID(XmlText)
IMAGE_ID(XmlPI)
IMAGE_ID(XmlDecl)
IMAGE_ID(XmlComment)
IMAGE_ID(XmlIcon)
IMAGE_BEGIN_DATA
IMAGE_DATA(120,156,237,152,141,153,131,32,12,134,29,161,35,220,116,157,163,163,117,179,92,181,141,66,126,72,20,17,84,194,147,167)
@ -2278,51 +2284,65 @@ IMAGE_DATA(207,138,63,239,7,158,232,133,187,69,103,134,25,102,152,97,134,25,102,
IMAGE_END_DATA(5984, 21)
IMAGE_BEGIN_DATA
IMAGE_DATA(120,156,237,154,79,108,20,85,28,199,191,182,169,82,42,178,208,212,68,131,88,47,16,87,83,140,69,99,215,67,75,20)
IMAGE_DATA(81,108,189,77,164,33,33,106,219,165,16,108,3,7,108,211,224,110,48,144,146,216,100,47,196,146,64,210,139,53,217,171)
IMAGE_DATA(102,99,56,72,19,185,205,129,4,244,208,244,192,210,11,49,122,48,177,7,122,122,190,223,204,190,153,121,51,239,205,223)
IMAGE_DATA(133,82,194,111,242,203,206,206,252,62,239,247,125,255,126,221,221,41,114,200,161,153,118,250,210,34,75,227,94,158,49,72)
IMAGE_DATA(94,173,86,89,152,41,249,251,220,103,185,159,118,249,82,169,228,184,120,175,228,137,29,230,158,151,249,68,249,41,247,129)
IMAGE_DATA(32,175,210,160,204,79,185,23,82,246,127,182,193,147,142,91,41,250,159,135,235,11,41,242,31,176,243,90,252,253,32,239)
IMAGE_DATA(215,17,224,111,121,198,47,237,252,31,104,180,193,82,206,127,190,209,135,52,249,23,60,227,175,200,239,31,7,63,159,101)
IMAGE_DATA(255,100,178,102,23,3,110,44,165,59,124,82,83,241,104,28,100,189,189,189,90,143,195,103,205,111,199,148,29,143,195,103)
IMAGE_DATA(237,191,176,176,126,63,138,252,105,248,140,235,199,111,186,246,227,152,17,194,27,49,120,85,172,170,205,40,62,238,245,108)
IMAGE_DATA(246,124,243,139,193,70,219,167,33,174,142,223,191,223,245,222,94,219,195,226,69,140,215,159,228,248,100,227,217,162,185,254)
IMAGE_DATA(248,219,19,184,25,170,80,87,206,170,38,158,245,156,59,103,142,206,207,155,253,23,46,152,185,137,9,179,245,248,113,19)
IMAGE_DATA(250,202,195,40,246,231,165,37,243,235,107,215,204,55,57,187,229,228,201,208,248,129,139,23,173,216,193,185,57,115,239,244)
IMAGE_DATA(180,217,30,17,191,131,107,216,199,219,125,125,102,198,124,233,204,25,243,217,19,39,66,227,219,198,199,77,98,118,78,78)
IMAGE_DATA(154,29,167,78,69,234,71,177,104,197,144,183,80,44,127,31,18,159,116,60,55,175,229,240,130,242,250,171,192,63,163,52)
IMAGE_DATA(241,220,135,236,206,127,9,140,142,218,222,211,19,213,238,103,156,103,244,145,129,251,239,14,127,251,54,176,188,12,220,187)
IMAGE_DATA(7,204,207,3,219,182,37,227,201,118,236,0,38,38,128,181,53,96,113,81,199,183,2,87,182,2,63,146,111,225,206,47)
IMAGE_DATA(245,203,17,125,125,192,234,42,112,254,188,116,185,5,109,232,196,107,120,38,78,133,187,122,21,168,215,129,93,187,156,75)
IMAGE_DATA(31,98,26,21,174,183,15,99,209,124,103,167,221,197,61,123,172,183,67,184,132,57,172,91,252,247,120,128,15,112,86,207)
IMAGE_DATA(30,58,4,28,61,106,243,227,227,28,30,194,27,24,196,251,24,183,248,183,49,140,189,248,72,207,159,229,109,63,120,96)
IMAGE_DATA(243,235,235,192,236,172,117,249,69,78,17,191,21,59,163,245,143,141,217,252,212,148,115,41,135,87,240,45,234,56,130,171)
IMAGE_DATA(209,124,11,31,227,238,110,160,173,77,186,252,9,190,67,25,171,232,70,193,7,12,160,189,125,17,29,29,182,183,182,94)
IMAGE_DATA(209,54,125,12,63,241,209,252,143,207,250,36,218,157,138,255,21,110,222,116,127,141,24,26,250,91,203,63,135,109,252,3)
IMAGE_DATA(221,15,40,225,30,102,176,140,111,112,39,17,47,236,101,244,224,61,140,88,78,252,224,32,195,200,136,237,187,119,203,252)
IMAGE_DATA(211,205,24,189,25,203,101,48,242,96,150,232,205,72,156,248,34,47,218,113,219,138,222,140,94,198,219,78,220,205,232,229)
IMAGE_DATA(100,62,222,102,212,243,100,241,54,163,183,15,242,56,62,221,140,82,236,67,248,1,37,139,69,124,73,46,73,63,68,200)
IMAGE_DATA(94,178,98,238,222,189,171,116,155,47,179,185,202,111,74,183,219,176,249,122,189,46,189,6,249,27,158,215,27,1,158,252)
IMAGE_DATA(242,229,203,236,240,225,195,78,27,46,127,131,237,123,171,159,29,251,162,36,181,229,229,5,75,175,170,252,196,202,109,184)
IMAGE_DATA(60,229,35,54,122,44,97,181,209,236,252,254,254,211,249,245,235,215,67,250,175,31,127,193,186,253,241,143,191,171,69,197)
IMAGE_DATA(147,134,131,7,15,242,2,80,86,242,196,190,243,238,199,108,106,102,33,160,95,228,37,118,105,105,73,185,126,40,47,177)
IMAGE_DATA(191,252,250,175,195,103,92,191,27,107,155,169,24,108,255,124,59,203,29,201,41,157,238,33,162,24,80,28,52,135,117,47)
IMAGE_DATA(162,24,196,229,117,197,192,225,13,238,85,61,175,219,140,14,95,13,182,33,248,36,197,192,106,163,201,249,195,138,65,220)
IMAGE_DATA(254,235,138,129,114,252,27,90,84,188,191,24,4,120,206,230,141,188,245,232,195,175,95,85,12,2,188,225,62,54,17,124)
IMAGE_DATA(198,245,187,177,182,153,138,65,137,123,89,227,165,70,76,88,49,40,219,159,41,149,94,246,240,186,98,16,151,215,21,3)
IMAGE_DATA(193,27,220,171,33,188,110,51,10,190,170,104,67,240,73,138,129,241,16,242,135,21,131,184,253,215,21,3,213,248,11,45)
IMAGE_DATA(42,222,95,12,252,60,177,253,93,93,204,48,140,128,126,85,49,240,243,148,151,88,122,86,42,248,140,235,119,99,237,17)
IMAGE_DATA(22,131,44,157,21,207,166,226,60,219,82,230,166,10,158,82,131,65,19,238,121,30,152,84,131,149,219,224,135,251,113,53)
IMAGE_DATA(89,238,42,63,232,47,81,249,207,50,27,24,24,72,162,193,202,157,231,7,241,221,107,221,73,52,72,185,197,145,64,131)
IMAGE_DATA(148,91,28,49,53,40,115,39,208,160,204,29,83,131,59,223,33,135,251,213,33,160,193,202,77,78,57,194,156,242,40,52)
IMAGE_DATA(196,42,228,62,111,142,61,38,255,116,33,241,81,255,241,34,76,179,193,173,194,97,77,86,200,225,89,12,170,5,101,221)
IMAGE_DATA(167,69,163,98,187,254,234,210,77,164,163,129,22,43,45,90,21,111,84,13,150,207,231,163,54,148,82,67,140,220,161,26)
IMAGE_DATA(98,230,86,106,72,144,91,169,33,97,110,73,67,254,143,124,210,220,142,6,167,141,228,185,29,13,41,115,75,26,82,230)
IMAGE_DATA(118,52,100,96,227,89,51,139,193,240,240,48,203,234,105,45,192,215,138,158,98,83,100,53,45,185,194,42,5,72,124,173)
IMAGE_DATA(200,153,162,75,172,84,10,210,123,175,81,44,221,18,188,58,182,198,138,142,6,126,46,238,175,84,88,161,113,46,248,34)
IMAGE_DATA(10,172,178,226,151,200,227,10,21,182,226,244,137,199,84,60,231,43,46,111,197,5,240,2,43,52,26,173,21,221,246,133)
IMAGE_DATA(118,111,254,128,118,202,237,104,226,218,157,246,189,125,210,232,183,88,55,135,53,39,226,141,247,220,195,203,243,38,143,133)
IMAGE_DATA(53,47,252,58,245,197,171,93,226,185,186,90,77,30,129,90,81,232,228,115,93,228,250,197,120,178,32,15,197,31,43,55)
IMAGE_DATA(143,189,86,84,235,169,89,235,55,139,103,221,191,255,3,193,79,62,199,0,0,0,0,0,0,0,0,0,0,0,0,0)
IMAGE_END_DATA(1504, 12)
IMAGE_DATA(120,156,237,154,79,104,28,85,28,199,127,77,136,54,141,181,155,150,8,74,173,241,210,226,42,169,152,42,118,61,36,65)
IMAGE_DATA(99,181,38,222,6,27,10,69,109,186,77,75,77,104,15,53,37,212,93,42,45,41,24,216,75,48,133,22,114,49,194,94)
IMAGE_DATA(149,69,114,176,1,123,155,67,161,234,33,228,144,180,151,34,122,16,236,33,57,61,223,239,205,190,153,121,51,239,205,188)
IMAGE_DATA(55,51,77,54,33,191,225,199,206,206,190,207,239,247,125,255,126,251,103,22,114,144,131,44,237,226,205,57,146,196,253,60)
IMAGE_DATA(33,32,120,181,90,37,81,38,229,31,83,159,164,126,209,227,75,165,146,235,252,185,148,71,118,136,122,94,228,141,242,99)
IMAGE_DATA(238,190,48,47,211,32,205,143,185,103,19,246,127,178,206,163,142,251,9,250,159,7,207,103,19,228,239,115,242,50,254,113)
IMAGE_DATA(152,15,234,8,241,247,125,227,151,116,254,251,234,49,72,194,249,207,215,251,144,36,255,172,111,252,37,249,131,227,16,228)
IMAGE_DATA(211,236,159,84,150,117,49,160,70,18,186,203,155,154,140,135,250,129,214,221,221,173,116,29,62,109,126,167,77,217,117,29)
IMAGE_DATA(62,109,255,185,69,245,123,61,242,39,225,83,174,159,160,169,226,235,152,21,193,91,26,188,172,173,44,102,28,175,123,61)
IMAGE_DATA(157,61,151,125,49,216,104,251,36,194,229,237,143,28,241,188,187,219,241,168,246,188,141,223,183,114,123,179,241,108,82,92)
IMAGE_DATA(111,124,219,130,155,161,10,242,202,89,85,180,39,93,87,175,218,195,51,51,118,207,245,235,118,110,116,212,110,62,123,214)
IMAGE_DATA(6,117,229,33,216,246,167,133,5,251,171,59,119,236,55,40,187,243,252,249,200,246,189,55,110,176,182,3,83,83,246,161)
IMAGE_DATA(43,87,236,214,152,246,237,84,195,97,26,247,181,137,9,251,197,75,151,236,103,206,157,139,108,223,50,50,98,35,179,119)
IMAGE_DATA(108,204,110,187,112,33,86,63,20,139,172,13,122,19,182,165,207,35,218,155,142,231,230,181,28,60,47,189,254,10,192,63)
IMAGE_DATA(195,56,241,212,7,157,206,127,1,48,60,236,120,87,87,92,220,79,41,79,240,35,3,245,223,92,254,193,3,128,197,69)
IMAGE_DATA(128,135,15,1,102,102,0,118,239,54,227,209,218,219,1,70,71,1,158,60,1,152,155,83,241,205,0,183,118,1,252,128)
IMAGE_DATA(190,147,58,189,212,35,182,56,122,20,224,209,35,128,107,215,132,203,77,208,2,251,224,85,216,161,83,225,110,223,6,88)
IMAGE_DATA(89,1,216,191,223,189,244,1,92,129,10,213,123,20,206,196,243,251,246,57,93,60,120,144,61,29,132,155,48,5,107,140)
IMAGE_DATA(255,14,86,225,125,184,172,102,143,29,3,56,121,210,225,71,70,40,60,8,175,195,0,188,7,35,140,127,11,134,224,16)
IMAGE_DATA(124,168,230,47,211,216,171,171,14,191,182,6,48,57,201,46,191,64,41,228,119,193,222,120,253,103,206,56,252,248,184,123)
IMAGE_DATA(41,7,47,195,55,176,2,39,224,118,60,223,68,199,184,179,19,160,165,69,184,252,49,124,11,101,120,4,157,80,8,0)
IMAGE_DATA(189,208,218,58,7,109,109,142,55,55,223,82,134,62,5,63,210,209,252,143,206,250,24,180,186,21,255,75,184,119,207,251)
IMAGE_DATA(53,98,112,240,111,37,255,44,236,166,31,232,190,135,18,60,132,9,88,132,175,225,119,35,158,219,75,208,5,239,194,105)
IMAGE_DATA(230,200,15,12,16,56,125,218,241,3,7,68,126,123,51,198,111,198,114,25,8,122,56,75,252,102,68,142,127,145,231,113)
IMAGE_DATA(188,88,241,155,209,207,248,227,232,110,70,63,39,242,122,155,81,205,163,233,109,70,127,31,196,113,220,222,140,66,219,167)
IMAGE_DATA(240,3,74,26,139,249,146,92,18,126,136,16,189,196,218,44,47,47,75,221,225,203,100,170,242,171,212,157,24,14,191,178)
IMAGE_DATA(178,34,60,134,249,187,190,199,187,33,30,125,122,122,154,28,63,126,220,141,225,241,119,201,225,55,123,200,169,207,75,66)
IMAGE_DATA(44,63,207,89,124,148,229,71,86,140,225,241,152,15,217,248,177,4,22,35,235,252,193,254,227,249,252,252,124,68,255,213)
IMAGE_DATA(227,207,89,175,63,193,241,247,180,200,120,212,208,223,223,79,11,64,89,202,35,251,246,59,31,145,241,137,217,144,126,158)
IMAGE_DATA(23,217,133,133,5,233,250,193,188,200,254,252,203,191,46,159,114,253,110,172,109,166,98,176,231,179,61,36,119,34,39,117)
IMAGE_DATA(124,13,98,138,1,182,3,197,193,94,139,41,6,186,188,170,24,184,188,69,189,170,230,85,155,209,229,171,225,24,156,55)
IMAGE_DATA(41,6,44,70,198,249,163,138,129,110,255,85,197,64,58,254,117,45,50,62,88,12,66,60,101,243,86,158,221,250,8,234)
IMAGE_DATA(151,21,131,16,111,121,183,77,56,159,114,253,110,172,109,166,98,80,162,94,86,120,169,222,38,170,24,148,157,207,148,82)
IMAGE_DATA(47,251,120,85,49,208,229,85,197,128,243,22,245,106,4,175,218,140,156,175,74,98,112,222,164,24,88,79,33,127,84,49)
IMAGE_DATA(208,237,191,170,24,200,198,159,107,145,241,193,98,16,228,145,237,233,232,32,150,101,133,244,203,138,65,144,199,188,200,226)
IMAGE_DATA(189,82,206,167,92,191,27,107,235,88,12,210,116,150,223,155,210,185,183,37,205,141,21,60,161,6,11,39,220,119,63,208)
IMAGE_DATA(84,3,203,109,209,195,251,184,106,150,187,74,15,124,39,42,255,89,38,189,189,189,38,26,88,238,60,61,144,239,124,210)
IMAGE_DATA(105,162,65,200,205,15,3,13,66,110,126,104,106,144,230,54,208,32,205,173,169,193,155,239,136,195,251,234,16,210,192,114)
IMAGE_DATA(163,99,142,40,199,60,18,13,90,133,60,224,217,88,131,252,233,66,224,227,254,241,194,77,177,193,89,225,96,147,21,113)
IMAGE_DATA(248,22,131,108,65,177,215,113,209,200,216,142,191,58,84,19,233,106,192,197,138,139,86,198,91,85,139,228,243,249,184,13)
IMAGE_DATA(37,213,160,145,59,82,131,102,110,169,6,131,220,82,13,134,185,5,13,249,63,242,166,185,93,13,110,12,243,220,174,134)
IMAGE_DATA(132,185,5,13,9,115,187,26,82,176,122,150,101,49,24,26,26,34,105,61,169,133,248,90,209,87,108,138,164,166,36,151)
IMAGE_DATA(72,165,0,2,95,43,82,166,232,17,75,149,130,240,220,111,216,22,95,226,188,188,109,141,20,93,13,244,156,191,190,84)
IMAGE_DATA(33,133,250,57,231,139,80,32,149,165,160,68,218,174,80,33,75,110,159,104,155,138,239,124,201,227,89,187,16,94,32,133)
IMAGE_DATA(122,208,90,209,139,207,181,251,243,135,180,99,110,87,19,213,238,198,247,247,73,161,159,177,94,14,54,39,252,137,255,220)
IMAGE_DATA(199,139,243,38,142,5,155,23,122,29,251,226,215,46,240,84,93,173,38,142,64,173,200,117,210,185,46,82,253,124,60,73)
IMAGE_DATA(152,7,201,155,149,151,199,89,43,178,245,148,213,250,77,227,169,55,112,59,43,6,59,82,199,217,36,150,246,99,150,114)
IMAGE_DATA(50,53,227,196,46,138,152,56,129,182,101,193,53,226,72,242,133,255,30,26,17,71,209,70,174,193,36,142,161,142,172,198)
IMAGE_DATA(35,171,121,137,141,163,201,187,113,20,222,216,134,197,132,52,190,204,36,150,228,235,78,112,226,98,23,153,198,226,201,52)
IMAGE_DATA(70,112,179,200,30,197,215,229,58,252,155,45,24,35,124,30,31,35,238,249,122,233,72,26,195,196,178,142,145,193,58,109)
IMAGE_DATA(12,219,194,159,76,178,152,16,18,254,203,141,194,179,136,99,26,131,23,142,44,180,4,227,36,209,210,8,227,162,210,177)
IMAGE_DATA(81,115,148,52,206,118,49,105,120,75,59,73,186,75,37,117,12,93,222,121,215,125,58,49,76,250,144,69,140,44,120,153)
IMAGE_DATA(142,245,214,96,26,195,192,27,219,182,139,137,246,36,177,182,120,151,70,230,26,177,148,172,34,150,22,143,155,71,118,46)
IMAGE_DATA(137,19,145,79,29,35,16,39,17,31,23,67,135,143,235,143,161,134,44,231,37,171,245,17,138,37,241,134,182,255,1,251)
IMAGE_DATA(141,23,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
IMAGE_END_DATA(1760, 17)
IMAGE_BEGIN_DATA
IMAGE_DATA(120,156,99,16,96,16,96,248,255,159,97,184,130,255,4,48,94,125,132,0,14,115,8,234,195,97,14,138,94,6,134,6)
IMAGE_DATA(162,104,116,183,224,211,15,195,196,232,71,87,67,13,251,169,173,31,213,63,152,97,72,44,192,22,135,20,196,63,53,210)
IMAGE_DATA(223,128,0,0,210,206,155,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
IMAGE_END_DATA(96, 1)

View file

@ -85,6 +85,7 @@ KEY(SEARCHTOPICS, "Search word in Help & Topics", K_CTRL_F1)
KEY(BROWSETOPICS, "Help & Topics", K_F1)
KEY(CALC, "Calculator", K_CTRL_E)
KEY(QTF, "QTF designer", K_ALT_Q)
KEY(XML, "XML view", K_ALT_X)
KEY(ASSIST, "Assist", ' '|K_CTRL)
KEY(ABBR, "Complete abbreviation", K_CTRL_PERIOD)
KEY(DCOPY, "Copy as definition/declaration", K_ALT_C)

View file

@ -67,6 +67,7 @@ file
FormatCode.cpp,
Abbr.cpp,
Qtf.cpp,
Xml.cpp,
Update.cpp,
Compile readonly separator,
Methods.cpp,

View file

@ -526,6 +526,7 @@ void Ide::BrowseMenu(Bar& menu) {
menu.AddMenu(AK_CALC, IdeImg::calc(), THISBACK1(ToggleBottom, BCALC))
.Check(IsBottomShown() && btabs.GetCursor() == BCALC);
menu.AddMenu(AK_QTF, IdeImg::qtf(), THISBACK(Qtf));
menu.AddMenu(!designer, AK_XML, IdeImg::XmlIcon(), THISBACK(Xml));
menu.MenuSeparator();
menu.Add(AK_BROWSETOPICS, IdeImg::help(), THISBACK(ShowTopics));
menu.Add(AK_SEARCHTOPICS, THISBACK(SearchTopics));