Изменять ширину колонок панели мышью

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Изменять ширину колонок панели мышью

Post by NightRoman »

Игрался недавно в FarNet с динамическим изменением ширины колонок в двухколоночных панелях плагина (с клавиатуры макросами через команды меню плагина). Получилось, и это оказалось очень удобно (включено в последние версии). Захотелось большего, например, уйти от ограничения 2-х колонок. С клавиатуры такое уже затруднительно, так как нет однозначности в том, какой именно разделитель колонок пользователь хочет двигать влево-вправо. Тогда напрашивается мышь для этой операции. Надо будет подумать, подумаю.

Но попутно возникла и идея предложить это реализовать в Фаре, а не в отдельно взятом плагине, который только для своих панелей такое может сделать. Реально это, или сразу забыть?

Про "исходники открыты" знаю, но не возьмусь. Просто, если идея нравится и может быть реализована в Фаре, пусть даже и в отдаленном будущем, то в плагине начинать не стоит.
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Изменять ширину колонок панели мышью

Post by SUSim »

Не сильно востребовано, я думаю, можно реализовать макросами/плагинами... В код фара точно пихать это не надо!
А сам то, что не напишешь скрипт? менять ширину всего чего хочешь можно и через макрос, а координаты мыши перехватить через плагин (через макрос не удобно, но тоже можно...) я бы сделал макрос, но даже в конему отключил фишку изменения размера панелей мышью (непривычно...).
SimSU ··· ·· -- ··· ··-
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Изменять ширину колонок панели мышью

Post by NightRoman »

SUSim
Не сильно востребовано,
Говорим за себя, хорошо? Где результаты проведенного исследования?
я думаю, можно реализовать макросами/плагинами...
Как? Я может и попробую, но не знаю как. По-моему такого АПИ нет. Плагин только у своих панелей может похимичить динамически шириной колонок (а хочется универсальное решение). Ты кстати не перепутал, я не про ширину *панелей*, а *колонок* панели говорю.
В код фара точно пихать это не надо!
Почему? Покажите мне, пожалуйста, гуевый грид, в котором до сих пор фиксированные колонки и мышкой их нельзя подвинуть. Навскидку не припоминаю. Чем Фар хуже? Тем, что консольный? Не аргумент. Грид в UI он предоставляет, а примочки для удобства его использования - не очень (Alt-стрелки-home-end - это неплохо, и иногда очень достаточно, но часто далеко не то, что хочется), почему бы и не предоставить вполне привычное поведение грида в UI?
менять ширину всего чего хочешь можно и через макрос
Как поменять ширину колонок? Может, проглядел, подскажи, подумаю.
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Изменять ширину колонок панели мышью

Post by SUSim »

Нельзя казнить помиловать :)
1) а я и говорил за себя "я думаю"
2, 4) тут уверен на 90% (проверять лень, да и conemu может менять ширину панеелей), а вот пример макроса:
http://code.google.com/p/far-macro-libr ... irstColumn
можно реализовать лучше, и к мышке привязать (привязка к мыши, сложновата правда) ...

Ввести в фар - да, будет удобнее, согласен, но для этого фартиму придется отвлекаться от патчей. Другой вопрос - что если чтото реализовано это надо довести до оптимального состояния!
SimSU ··· ·· -- ··· ··-
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Изменять ширину колонок панели мышью

Post by NightRoman »

Ну вот пример. Это просмотр таблицы Customers из классической базы данных Northwind, ширина окна Фара 164, рабочая зона для панели 80. Alt-примочки слабо помогают при просмотре. Кроме того, это так и не позволит посмотреть названия полей полностью, ибо Alt-примочки их не прокручивают. А так бы для нужного в данный момент поля/колонки мышкой можно было бы одним драгом расчистить место.

Code: Select all

╔═════════╤═════════╤═════════╤════ Customers ════╤═════════╤═════════╤══════════╗
║uustomerI│CompanyNa│ContactNa│ContactTi│ Address │  City   │ Region  │PostalCode║
║..       │         │         │         │         │         │         │          ▲
║ALFKI    │Alfreds F│Maria And│Sales Rep│Obere Str│Berlin   │         │12209     ▓
║ANATR    │Ana Truji│Ana Truji│Owner    │Avda. de │México D.│         │05021     ▓
║ANTON    │Antonio M│Antonio M│Owner    │Mataderos│México D.│         │05023     ▓
║AROUT    │Around th│Thomas Ha│Sales Rep│120 Hanov│London   │         │WA1 1DP   ▓
║BERGS    │Berglunds│Christina│Order Adm│Berguvsvä│Luleå    │         │S-958 22  ▓
Вобщем, у всех свой опыт работы с Фаром, свои данные и т.п. В моих сценариях то, что предлагается, было бы необычайно полезно.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Изменять ширину колонок панели мышью

Post by NightRoman »

Ввести в фар - да, будет удобнее, согласен, но для этого фартиму придется отвлекаться от патчей.
Да, было подозрение, что это надо программировать.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Изменять ширину колонок панели мышью

Post by DrKnS »

Идея нравится, да. И вполне может быть реализована в фаре.

Вот только для этого придется переписать панели нафиг.
Потому что колонка - это ни разу не объект.
Всё это хозяйство тупо рисуется построчно принтфоподобными функциями.
Трогать это никто в обозримом будущем вроде бы не собирался.

Поэтому, если хочется это иметь внутри, то, увы, идею лучше всего предлагать в виде "а я тут переписал панели, всё отладил и проверил, вот патч".
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Изменять ширину колонок панели мышью

Post by NightRoman »

Всё это хозяйство тупо рисуется построчно принтфоподобными функциями.
Ну и что? Оно же рисуется согласно массиву ширин колонок. Драг мышкой меняет значения в этом массиве. Потом обычный Redraw делается. Как рисуется к задаче не имеет отношения. Надо мышкой менять текущие ширины, вот и все. Для 2-колоночных панелей сделано в Фарнет, ничего сложного вообще в идее самой не оказалось.
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Изменять ширину колонок панели мышью

Post by SUSim »

Зашибись! мы вроде говорили про стандартные панели!!! а плгиновые панели на мой взгляд должны сами себя обрабатывать.
Про изменение ширины колонок плагиновой панели из самого фара я даже помыслить не могу! (думаю, это очень геморройно)...
SimSU ··· ·· -- ··· ··-
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Изменять ширину колонок панели мышью

Post by NightRoman »

Ну вот весь код для 2-колоночной задачи из Фарнета (ну не весь, основной, но идею показывает). Понятно, что для общего случая (Х колонок), он разрастется. Но это не рокет сайенс, все-таки.

User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Изменять ширину колонок панели мышью

Post by NightRoman »

SUSim wrote:Зашибись! мы вроде говорили про стандартные панели!!! а плгиновые панели на мой взгляд должны сами себя обрабатывать.
Про изменение ширины колонок плагиновой панели из самого фара я даже помыслить не могу! (думаю, это очень геморройно)...
Да, ты невнимательно читал. Вступление - именно о панелях плагина. А заключение - что надо бы везде, а не в одном отдельном плагине.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Изменять ширину колонок панели мышью

Post by Max Rusov »

Отсюда плавно вытекает, что плагин вообще не должен управлять своими колонками, он должен регистрировать набор атрибутов виртуальной файловой системы, с указанием их имен, типов, способов сортировки etc..., а раскладкой их по колонкам, управлением шириной, порядком, видимостью, должен заниматься сам FAR, с возможностью сохранения произвольного числа именованных пресетов для каждого плагина... FAR 4...
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Изменять ширину колонок панели мышью

Post by NightRoman »

Max Rusov
Здравые идеи. Но это можно *потом*. Пока бы хватило того, что плагин задает дефолтные ширины (если хочет, и это очень надо и полезно иногда). А дальше бы Фар позволял менять ширину колонок, добавило бы удобства уже порядочно. Запоминать пресеты - очень неплохо, но не по плагинам, а по гуидам панелей, что ли. У одного плагина (Фарнет) панелей разных может быть сколько угодно.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Изменять ширину колонок панели мышью

Post by Max Rusov »

NightRoman wrote:А дальше бы Фар позволял менять ширину колонок, добавило бы удобства уже порядочно
IMHO, совершенно бесполезно интерактивно менять ширину колонок, если она при этом не запоминается. Ничего кроме раздражения такая фича вызвать не может. А как ее запомнить? Это дофига всего дорабатывать надо...
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Изменять ширину колонок панели мышью

Post by NightRoman »

совершенно бесполезно интерактивно менять ширину колонок, если она при этом не запоминается.
Очень сомнительная идея. Не соглашусь.
Ничего кроме раздражения такая фича вызвать не может.
Удовольствие от того, что получил то, что хотел -- увидел данные целиком. Сейчас. Когда не можешь отодвинуть колонку и посмотреть данные - это не вызывает раздражение что ли? Да мало ли гуевых программ с гридами не запоминают ширину колонок? Но менять-то разрешают. Не раздражает. Может раздражать то, что не запоминает, а не то, что позволяет управлять колонками, не надо путать.
Post Reply

Return to “Предложения и идеи”