View Issue Details

IDProjectCategoryView StatusLast Update
0000061Far Manager 1.7xPlugins API.Dialogpublic2008-11-27 20:23
ReportervskirdinAssigned Tovskirdin 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version 
Target VersionFixed in Version1.71 
Summary0000061: Listbox с границами и без
DescriptionFrom: http://forum.farmanager.com/viewtopic.php?t=713

Хочу listbox без окантовки по периметру. Пишу

FarList fl;
InitDialogItem idiMain[]={
 {DI_LISTBOX, 0, 1, -1, -2, true, (int)&fl, DIF_LISTNOBOX, true, fname}
};

  CONSOLE_SCREEN_BUFFER_INFO csbi;
  GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
  sw=csbi.dwSize.X; sh=csbi.dwSize.Y;

  idiMain[3].X2=sw-1;//**!!!!**
  idiMain[3].Y2=sh-2;
  InitDialogItems(idiMain, diMain, sizeof(idiMain)/sizeof(idiMain[0]));
  Info.DialogEx(Info.ModuleNumber, 0, 0, sw-1, sh-1, NULL, diMain, sizeof(diMain)/sizeof(diMain[0]), 0, FDLG_SMALLDIALOG|FDLG_NODRAWPANEL, DiProc, (long)diMain);
 

Получаю listbox без окантовки по периметру, НО в координатах по X от 2 до sw-3!
Если в строке помеченной //**!!!!** присваивать sw-2, то ситуация та же. Если же sw-3, то listbox прижат к левому краю, как положено, а справа остаются 2 неотрисованных столбца.

Может написал коряво и малопонятно, но привёл реальный пример - всё должно стать ясно. Баг или фича? Если фича - как обойти?!
TagsNo tags attached.
Build2470

Relationships

related to 0001083 closedchupakabra Far Manager Дефект в меню конфликта ассоциаций 

Activities

samlyukov

2007-11-14 06:04

reporter   bugnote:0000753

наткнулся на аналогичную бяку :-(
в диалоге с FDLG_SMALLDIALOG математика диалога думает что у DI_LISTBOX X2 равна Х2+2

samlyukov

2008-09-06 08:45

reporter   bugnote:0001806

вот это было б желательно подправить, мне усердия не хватило :)
искал-искал, но так и не вижу где эта бяка...

samlyukov

2008-09-06 08:51

reporter   bugnote:0001807

увидеть можно опять же на плагине VisRen ;-) мышью подтащить диалог к правому краю экрана - листбокс "полезет".

DrKnS

2008-09-06 12:06

administrator   bugnote:0001808

Вот "патч", фиксит и твоё, и сабж. Осталось выяснить, что он ломает :)

Index: vmenu.cpp
===================================================================
--- vmenu.cpp (revision 1983)
+++ vmenu.cpp (working copy)
@@ -245,6 +245,7 @@
     if (X2<=0)
       X2=X1+MaxLength+4;
   }
+ /*
   if (!AutoCenter && X2 > ScrX-(VMFlags.Check(VMENU_LISTBOX)?2:4)+2*(BoxType==SHORT_DOUBLE_BOX || BoxType==SHORT_SINGLE_BOX))
   {
     X1+=ScrX-4-X2;
@@ -255,6 +256,7 @@
       X2=ScrX-2;
     }
   }
+ */
   if (!VMFlags.Check(VMENU_LISTBOX) && X2>ScrX-2)
     X2=ScrX-2;

samlyukov

2008-09-06 12:26

reporter   bugnote:0001809

пока не вижу что там отвалилось. нужен анси-фар для подробного теста.

samlyukov

2008-09-06 13:29

reporter   bugnote:0001810

потестил все менюшки/списки/диалоги в фаре и в установленных плагинах - ничего не заметил, нужно пустить в массы, пусть погоняют еще.

DrKnS

2008-09-06 18:53

administrator   bugnote:0001811

Потести ещё раз на этом:
http://www.farmanager.com/farbugs/far.vmenu.coord.1.rar
Переделал по другому, вполне мог что-то погнуть.

samlyukov

2008-09-07 01:17

reporter   bugnote:0001812

Last edited: 2008-09-07 01:18

а подробности можно? ОНО и при выброски работает :)

samlyukov

2008-09-07 01:37

reporter   bugnote:0001813

>Переделал по другому, вполне мог что-то погнуть.
поломаны выпадающие списки. может еще что...

DrKnS

2008-09-07 02:44

administrator   bugnote:0001814

> ОНО и при выброски работает :)
эмм... что имелось в виду?

> поломаны выпадающие списки.
как увидеть?

samlyukov

2008-09-07 02:56

reporter   bugnote:0001815

имелся в виду предыдущий патч с /*код*/

как увидеть? открыть историю в поле ввода.

>а подробности можно?
Ы?

DrKnS

2008-09-07 03:09

administrator   bugnote:0001816

> имелся в виду предыдущий патч с /*код*/
Ну, комментирование куска кода почти наугад - не фонтан, лучше разобраться :)

Едем дальше:
http://www.farmanager.com/farbugs/far.vmenu.coord.2.rar

DrKnS

2008-09-07 03:19

administrator   bugnote:0001817

Точнее, так:
http://www.farmanager.com/farbugs/far.vmenu.coord.3.rar

samlyukov

2008-09-07 05:39

reporter   bugnote:0001818

не работает.
предлагаю прекратить эту эпопею и остановиться на самом первом варианте. тестировать больше не буду.

DrKnS

2008-09-07 05:48

administrator   bugnote:0001819

На "нет" и суда нет.
Приводить ситуацию к виду "вроде работает, но почему - хз" я тоже не собираюсь.
Пока останется как есть.

samlyukov

2008-09-07 05:55

reporter   bugnote:0001820

в отличие от первого, все последующие "правки" что-то ломают...

samlyukov

2008-09-16 10:21

reporter   bugnote:0001824

>в отличие от первого, все последующие "правки" что-то ломают...
утверждение оказалось ложным.
надо так править:
- if (!AutoCenter && X2 > ScrX-(VMFlags.Check(VMENU_LISTBOX)?2:4)+2*(BoxType==SHORT_DOUBLE_BOX || BoxType==SHORT_SINGLE_BOX))
+ if (!AutoCenter && X2 > ScrX-(VMFlags.Check(VMENU_LISTBOX)?0:4)+2*(BoxType==SHORT_DOUBLE_BOX || BoxType==SHORT_SINGLE_BOX))

vskirdin

2008-09-19 11:22

administrator   bugnote:0001825

2samlyukov: приаттач сюда тестовый плагин, pls

samlyukov

2008-09-19 11:47

reporter   bugnote:0001826

вот же он http://forum.farmanager.com/viewtopic.php?p=5155#p5155
или вот этот http://forum.farmanager.com/download/file.php?id=1524

vskirdin

2008-09-22 07:56

administrator   bugnote:0001831

"Осталось выяснить, что он ломает" (c) DrKnS
:-)

samlyukov

2008-09-30 10:56

reporter   bugnote:0001847

выяснили?

samlyukov

2008-11-27 18:50

reporter   bugnote:0002057

и в 1,7х правку бы включить.

vskirdin

2008-11-27 19:50

administrator   bugnote:0002058

после 610/2470

Issue History

Date Modified Username Field Change
2005-10-31 07:21 vskirdin New Issue
2006-04-04 10:56 vskirdin Project Far Manager 1.7x => @11@
2006-04-04 17:30 alexy Project @11@ => Far Manager 1.7x
2007-11-14 06:04 samlyukov Note Added: 0000753
2008-09-06 08:45 samlyukov Note Added: 0001806
2008-09-06 08:51 samlyukov Note Added: 0001807
2008-09-06 12:06 DrKnS Note Added: 0001808
2008-09-06 12:26 samlyukov Note Added: 0001809
2008-09-06 13:29 samlyukov Note Added: 0001810
2008-09-06 18:53 DrKnS Note Added: 0001811
2008-09-07 01:17 samlyukov Note Added: 0001812
2008-09-07 01:18 samlyukov Note Edited: 0001812
2008-09-07 01:37 samlyukov Note Added: 0001813
2008-09-07 02:44 DrKnS Note Added: 0001814
2008-09-07 02:56 samlyukov Note Added: 0001815
2008-09-07 03:09 DrKnS Note Added: 0001816
2008-09-07 03:19 DrKnS Note Added: 0001817
2008-09-07 05:39 samlyukov Note Added: 0001818
2008-09-07 05:48 DrKnS Note Added: 0001819
2008-09-07 05:55 samlyukov Note Added: 0001820
2008-09-16 10:21 samlyukov Note Added: 0001824
2008-09-19 11:22 vskirdin Note Added: 0001825
2008-09-19 11:47 samlyukov Note Added: 0001826
2008-09-22 07:56 vskirdin Note Added: 0001831
2008-09-30 10:56 samlyukov Note Added: 0001847
2008-11-27 18:50 samlyukov Note Added: 0002057
2008-11-27 19:50 vskirdin Note Added: 0002058
2008-11-27 19:50 vskirdin Status new => feedback
2008-11-27 20:04 samlyukov Status feedback => resolved
2008-11-27 20:04 samlyukov Resolution open => fixed
2008-11-27 20:04 samlyukov Assigned To => samlyukov
2008-11-27 20:14 alexy Assigned To samlyukov => vskirdin
2008-11-27 20:14 alexy Product Version alpha 6 =>
2008-11-27 20:23 vskirdin Build => 2470
2008-11-27 20:23 vskirdin Status resolved => closed
2008-11-27 20:23 vskirdin Fixed in Version => 1.71
2009-10-30 23:37 chupakabra Relationship added related to 0001083