diff --git a/uppsrc/Sql/SqlSchema.h b/uppsrc/Sql/SqlSchema.h index d24b3ad18..802fd1c10 100644 --- a/uppsrc/Sql/SqlSchema.h +++ b/uppsrc/Sql/SqlSchema.h @@ -172,7 +172,6 @@ struct S_type { static SqlSet Of(SqlId table); static const Vector& GetColumnIds(); - void Shrink(); void Clear(); void FieldLayoutRaw(FieldOperator& f, const String& prefix = String()); diff --git a/uppsrc/XmlView/XmlView.iml.$tmp b/uppsrc/XmlView/XmlView.iml.$tmp new file mode 100644 index 000000000..67345ba58 --- /dev/null +++ b/uppsrc/XmlView/XmlView.iml.$tmp @@ -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) diff --git a/uppsrc/ide/Browser/Sch.cpp b/uppsrc/ide/Browser/Sch.cpp index d1591e808..853897b2e 100644 --- a/uppsrc/ide/Browser/Sch.cpp +++ b/uppsrc/ide/Browser/Sch.cpp @@ -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& 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_")) diff --git a/uppsrc/ide/Xml.cpp b/uppsrc/ide/Xml.cpp new file mode 100644 index 000000000..4dbaf01df --- /dev/null +++ b/uppsrc/ide/Xml.cpp @@ -0,0 +1,121 @@ +#include "ide.h" + +struct XmlView : public TopWindow { + TreeCtrl xml; + LineEdit view; + FrameTop 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"); +} diff --git a/uppsrc/ide/ide.h b/uppsrc/ide/ide.h index ccf28d32e..6c2cb82d7 100644 --- a/uppsrc/ide/ide.h +++ b/uppsrc/ide/ide.h @@ -967,6 +967,7 @@ public: void ContextGoto(); void CtrlClick(int pos); void Qtf(); + void Xml(); void ConsoleMenu(Bar& menu); diff --git a/uppsrc/ide/ide.iml b/uppsrc/ide/ide.iml index f9c37a0ce..7048a9652 100644 --- a/uppsrc/ide/ide.iml +++ b/uppsrc/ide/ide.iml @@ -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) diff --git a/uppsrc/ide/ide.key b/uppsrc/ide/ide.key index 26b8568c9..1189c8a1c 100644 --- a/uppsrc/ide/ide.key +++ b/uppsrc/ide/ide.key @@ -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) diff --git a/uppsrc/ide/ide.upp b/uppsrc/ide/ide.upp index c2442442c..dde1154df 100644 --- a/uppsrc/ide/ide.upp +++ b/uppsrc/ide/ide.upp @@ -67,6 +67,7 @@ file FormatCode.cpp, Abbr.cpp, Qtf.cpp, + Xml.cpp, Update.cpp, Compile readonly separator, Methods.cpp, diff --git a/uppsrc/ide/idebar.cpp b/uppsrc/ide/idebar.cpp index 75851c54c..df18e6410 100644 --- a/uppsrc/ide/idebar.cpp +++ b/uppsrc/ide/idebar.cpp @@ -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));