LuaFAR: ломка API

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: LuaFAR: ломка API

Post by John Doe »

Latest post of the previous page:

Конвертер не использует API LuaFAR.
А SimSU сам поправит.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: LuaFAR: ломка API

Post by John Doe »

Shmuel wrote:
John Doe wrote:Я со своей стороны предлагал линкифицировать мануалы, но оказалось что рано.
Кроме того на основе changelog поддерживаю в актуальном состоянии спецификацию макросов-обработчиков событий.
Я не в претензии к вам, даже совсем наоборот. Но то, что вы делаете (и делаете хорошо) в форуме, вы могли бы делать в мануале (причём, подозреваю, что гораздо лучше, чем я).
Думал об этом.
Пока не чувствую себя хотя бы минимально компетентным для серьёзных правок.
Та же спецификация событий: одно дело выжимка из changelog, другое дело мануал.
Ещё пример: в мануале LuaFAR очень много где стоит добавить ссылки на Far API.
Казалось бы несложная задача, но не владея предметом можно сильно напортачить (и вообще массу времени непродуктивно убить).
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: LuaFAR: ломка API

Post by Shmuel »

John Doe wrote:Думал об этом.
Пока не чувствую себя хотя бы минимально компетентным для серьёзных правок.
Я бы не предлагал кому попало, считаю, что задача вам вполне по силам. А если что обнаружится не так, можно поправить.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: LuaFAR: ломка API

Post by John Doe »

Я не отказываюсь.
Но прежде у меня должен созреть некий план изменений.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: LuaFAR: ломка API

Post by Shmuel »

От планов грандиозной ломки решил отказаться. На данный момент исправлены функции, где подобные вещи трактовались по-разному. Остался ряд переменных/параметров, где отсчёт по-прежнему с нуля (экранные координаты, индексы элементов диалога, позиции в файле и ещё кое-что). Думаю оставить как есть.

У кого есть идеи или замечания - высказывайтесь, так как в ближайшие дни эта ломка будет закончена.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: LuaFAR: ломка API

Post by Aidar »

Если кратко:
1. Координаты в математике используются с отсчётом от начала координат O(0,0, ..., 0).
2. Элемент диалога с нулевым индексом - это обычно рамка, так что нумерация от нуля удобна.
3. Насчёт позиции в файле - не использовал в Lua. Так что можно оставить нумерацию от нудя.

Так что жду окончания ломки.
2useven10
Posts: 5204
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Re: LuaFAR: ломка API

Post by 2useven10 »

имхо лучше оставить. если в фаре с 0, а в макросах будет с 1, ничего хорошего в этом не будет.
те кто с энтузиазмом кричат - ломай, обычно не принимают участия в устранении улучшенных багов.
ломать надо, то что мешает.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: LuaFAR: ломка API

Post by John Doe »

2useven10
см. шапку.
Всё изменяемое и было "как в фаре", а теперь нет.

P.S.
У меня мнения нет, на освоение нужно немало времени.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Re: LuaFAR: ломка API

Post by Smitis »

С элементами диалога сейчас жутко неудобно - одни функции (macro api) с 1, а функции plugin api - с 0.
Имхо, не принципиально, как нумеровать, главное, чтобы было одинаково. Но в macro api ноль обычно занят - это или элемент по умолчанию, либо ещё что. Например, в Dlg.SetFocus - ноль - вернуть номер текущего фокусного элемента (а вот в Dlg.GetValue текущий фокусный элемент уже -1!)
И ещё - на macro api наложили табу. Поэтому нумеровать надо с 1.
2useven10 wrote:ломать надо, то что мешает.
В общем, ломать надо или там или там (это про индексы элементов диалога).
Разум когда-нибудь победит.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: LuaFAR: ломка API

Post by John Doe »

Smitis wrote:И ещё - на macro api наложили табу. Поэтому нумеровать надо с 1.
Да, единообразие во всех api желательно, но нельзя чтобы macro api было тут тормозом.

Если есть расхождения - не смешивайте api, и будет удобно.
И если вы пользуетесь LuaFAR, то уверен, вам не составит труда определить собственные функции удобным для вас образом.

P.S.
Как лучше поступить в случае элементов диалогов я не знаю, но ориентироваться на устаревшее api не стоит.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: LuaFAR: ломка API

Post by Skirda »

John Doe wrote:но ориентироваться на устаревшее api не стоит.
"Устаревшее" - на котором все плагины написаны (в т.ч. LuaFAR)?
С нетерпением жду Far 4.0 :popcorn:
We are the Borg. You will be assimilated.
So Say We All!
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: LuaFAR: ломка API

Post by John Doe »

Skirda
Устаревшим я назвал macro api.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Re: LuaFAR: ломка API

Post by Smitis »

А "позиции в файле" и "экранные координаты" в macro api где-то используются (не пользовался)? Если нет, то действительно, оставить как есть.
А вот нумерацию элементов диалогов, сейчас обдумав ещё раз, всё-таки лучше с 1.
Разум когда-нибудь победит.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: LuaFAR: ломка API

Post by John Doe »

Обоснуете?
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: LuaFAR: ломка API

Post by Shmuel »

John Doe wrote:Обоснуете?
Нумерация элементов диалога в Lua, естественно, лучше от 1. Тут по идее и обосновывать не надо. Причина, по которой хотелось оставить от нуля, это трудности реализации, учитывая большое количество DM_xxx и DN_xxx, и то, что не во всех из них Param1 обозначает позицию элемента. Но сегодня всё-таки решился взяться за эту переделку.
User avatar
SUSim
Posts: 1636
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: LuaFAR: ломка API

Post by SUSim »

Мне вообще число 0 не нравится (только как обозначение "ничего" и "по умолчанию"), так что я за "везде с 1".
Про координаты экрана тоже лучше с 1, геометрию тут притягивать не надо (а то 0, 0 надо помещать в нижний левый угол экрана)!
И крамольная мысль "выкорчевать всякие -n", как отсчёт с конца, затрудняет осмысливание и не везде работает, ну да это врядли уже возможно...
SimSU ··· ·· -- ··· ··-
Post Reply

Return to “Обсуждение макросов”