mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-05-15 14:15:49 -06:00
Add align option Compat view for All Line mode. Some optimuzation.
Добавлена опция Compat view для All Line режима. В некоторых случаях она делает более красивое выравнивание. Для примера: f(iObjId, 1073,'text',null ) ; f(iObjId+1,130 ,'te' ,iObjId) ; f(iObjId+2,1 ,'te2' ,iObjId+1); Исправлено добавление пробелов в конце строки в режиме All Line.
This commit is contained in:
parent
400cbc2cc7
commit
ffeda8c9b6
3 changed files with 28 additions and 14 deletions
|
|
@ -16,7 +16,9 @@ public:
|
|||
// и при помощи этого флага ищутся более длинные строки обработанные ранее
|
||||
FIND_UP_LONG_LINE=4,
|
||||
/// Заменить множественные пробелы на один. Выравнивание не производиться.
|
||||
ONLY_SINGLE_SPACE=8
|
||||
ONLY_SINGLE_SPACE=8,
|
||||
/// Более копактный вид имеет смысл для ALL_LINES
|
||||
COMPACT_VIEW=16
|
||||
|
||||
};
|
||||
AlignWrap() {}
|
||||
|
|
|
|||
|
|
@ -56,6 +56,9 @@ wxString AlignWrap::build(wxString& strsrc, int config,wxString linesep)
|
|||
|
||||
}
|
||||
else {
|
||||
//
|
||||
bool iscompact=false;
|
||||
if (CHKCFGPARAM(cfg, COMPACT_VIEW)) iscompact=true;
|
||||
|
||||
for (size_t l = 1; l < nline.size() - 1; l++)
|
||||
{
|
||||
|
|
@ -97,17 +100,21 @@ wxString AlignWrap::build(wxString& strsrc, int config,wxString linesep)
|
|||
else {
|
||||
// 4021196,'fffff',(
|
||||
// (4155,'aaaa'
|
||||
if (size_u > size_c) { // фиксируем верхний
|
||||
// будем нижний подгонять под верхний
|
||||
size_u = range_size(index_u);
|
||||
idxU = index_u;
|
||||
}
|
||||
else
|
||||
if (size_u < size_c) {
|
||||
size_c = range_size(index_c);
|
||||
idxC = index_c;
|
||||
if (iscompact) {
|
||||
list[idxC].setParent(idxU);
|
||||
} else {
|
||||
if (size_u > size_c) { // фиксируем верхний
|
||||
// будем нижний подгонять под верхний
|
||||
size_u = range_size(index_u);
|
||||
idxU = index_u;
|
||||
}
|
||||
list[idxC].setParent(idxU);
|
||||
else
|
||||
if (size_u < size_c) {
|
||||
size_c = range_size(index_c);
|
||||
idxC = index_c;
|
||||
}
|
||||
list[idxC].setParent(idxU);
|
||||
}
|
||||
}
|
||||
if (size_u < size_c) {
|
||||
// вырхний короче, его дополняем
|
||||
|
|
@ -378,6 +385,7 @@ int AlignWrap::chkspace(int &pos, bool& br) {
|
|||
pos--;
|
||||
break;
|
||||
}
|
||||
if (nl < parserows) l++;
|
||||
// Не будем заменять переводы строк на пробел для ALL_LINES
|
||||
if (nl < parserows && !CHKCFGPARAM(cfg,ALL_LINES)) l++;
|
||||
return l;
|
||||
}
|
||||
|
|
@ -39,9 +39,13 @@ wxString Item::print() {
|
|||
|
||||
wxString s = wxString::Format("%s", it);
|
||||
wxString r(' ', rs), l(' ', ls);
|
||||
|
||||
s = l + s + r + wxString::Format("%s", comment);
|
||||
if (br)
|
||||
s = l + r + s + wxString::Format("%s", comment); // для последнего элемента строки пробелы справа не добавляем
|
||||
else
|
||||
s = l + s + r + wxString::Format("%s", comment);
|
||||
#ifdef _DEBUG
|
||||
std::cout << s;
|
||||
#endif
|
||||
return s;
|
||||
}
|
||||
const int Item::getMaxSize() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue