Scripts discussion (1)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Fr0sT wrote:se7h
по идее есть стандартный виндовый диалог выбора цвета. Так что ничего сложного на первый взгляд.
стандартный селектор убог, но если другой подрубить не получится, то приведите пример с дефолтовым

Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

стандартный селектор убог
Тот что Вы показали по ссылке - умеет не больше чем стандартный(наоборот может меньше). Посмотрите на стандартный с pbrush, или в настройках цветов редактора либо SpellCheck плагина.

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

FeyFre wrote:
стандартный селектор убог
Тот что Вы показали по ссылке - умеет не больше чем стандартный(наоборот может меньше). Посмотрите на стандартный с pbrush, или в настройках цветов редактора либо SpellCheck плагина.
шо Ви такое говорите?
наверно, Вы не работаете в фотошопе, ибо указанный мною селектор стырен оттуда (правда в урезанной форме), а он хорош и проверен временем, уж поверьте мне, никакой стандартный ему не ровня

потыкайте радиобатоны чтобы оценить всю мощь

впрочем, вопрос был в другом: КАК подрубить сие с помощью JS

Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Показанный Вами выбирает по RGB палитре и по HSV палитре.

Code: Select all

var oFunc = AkelPad.SystemFunction();
var /*CHOOSECOLORW*/ ccws = AkelPad.MemAlloc(4*9);
var /*COLORREF[16]*/ lprgbcustcol = AkelPad.MemAlloc(4*16);
var i;
for(i=0;i<16;i++)
	AkelPad.MemCopy(lprgbcustcol+i*4, 0x0FFFFFF, 3 /*DT_DWORD*/);
//!CHOOSECOLORW.lStructSize
AkelPad.MemCopy(ccws+0 , 4*9, 3 /*DT_DWORD*/);
//!CHOOSECOLORW.hWndOwner
AkelPad.MemCopy(ccws+4 , AkelPad.GetMainWnd(), 3 /*DT_DWORD*/);
//!CHOOSECOLORW.hInstance
AkelPad.MemCopy(ccws+8 , 0, 3 /*DT_DWORD*/);
//!CHOOSECOLORW.rgbResult
AkelPad.MemCopy(ccws+12, 0, 3 /*DT_DWORD*/);
//!CHOOSECOLORW.lpCustColors
AkelPad.MemCopy(ccws+16, lprgbcustcol, 3 /*DT_DWORD*/);
//!CHOOSECOLORW.FLAGS
AkelPad.MemCopy(ccws+20, 0x00000102/*CC_ANYCOLOR|CC_FULLOPEN*/, 3 /*DT_DWORD*/);
//!CHOOSECOLORW.lCustData
AkelPad.MemCopy(ccws+24, 0, 3 /*DT_DWORD*/);
//!CHOOSECOLORW.lpfnHook
AkelPad.MemCopy(ccws+28, 0, 3 /*DT_DWORD*/);
//!CHOOSECOLORW.lpTemplateName
AkelPad.MemCopy(ccws+32, 0, 3 /*DT_DWORD*/);

var res = oFunc.Call("comdlg32::ChooseColorW", ccws);

if(res)
{
	var color = AkelPad.MemRead(ccws+12, 3 /*DT_DWORD*/);
	AkelPad.MessageBox(AkelPad.GetMainWnd(), "Color is:"+color, "Caption", 0);
}
AkelPad.MemFree(ccws);
AkelPad.MemFree(lprgbcustcol);

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

FeyFre wrote:Чем он лучше?
одна визуальная цветовая модель, нельзя сохранять палитры, нет пипетки, лупы, без поддержки hex...

тот селектор, что я указал тоже не ахти, но он целиком написан на JS

вот отличные образцы в своём роде ColorCop (96kb!), Just Color Picker и всё они freeware

p.s.: спасибо за скрипт

Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

p.s.: спасибо за скрипт
Не за что.
И да, я Фотошопом не пользуюсь, ибо предпочитаю стабильность работы приложения, а не стабильность роста голода приложения к системным ресурсам. Мне GIMP хватает с головой.
одна визуальная цветовая модель, нельзя сохранять палитры, нет пипетки, лупы, без поддержки hex...
Ну так сделайте. Сейчас такая фигня делается с закрытыми глазами старшекласниками(если мозги есть). А если так важно быстродействие/размер покажите пример молодежи сами.

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

FeyFre
я указал на слабости стандартного цветоселектора, как Вы и просили
И да, я Фотошопом не пользуюсь, ибо предпочитаю стабильность работы приложения, а не стабильность роста голода приложения к системным ресурсам.
поэтому пользуюсь версией CS3 :)

Offline
Posts: 267
Joined: Mon Mar 12, 2007 3:45 pm

Post by [Yustas.NeO] »

Всем спасибо, вроде разобрался!

KDJ
Thanks!

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

se7h wrote:поэтому пользуюсь версией CS3 :)
Поддерживаю. 10-й PSh быстрее даже 7-го.
Adobe одна из немногих контор, которые я уважаю. Не знаю, как там другие их продукты, но в PSh реально оптимизируют внутренности.

Offline
Posts: 267
Joined: Mon Mar 12, 2007 3:45 pm

Post by [Yustas.NeO] »

Подскажите, пожалуйста, как через скрипт свернуть программу (не в трэй!)?

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

[Yustas.NeO] wrote:...(не в трэй!)?
В Scripts-Rus.txt в аккурат пример:

Code: Select all

  var hMainWnd=AkelPad.GetMainWnd();
  var oSys=AkelPad.SystemFunction();
  oSys.Call("user32::ShowWindow", hMainWnd, 6 /*SW_MINIMIZE*/);

Offline
Posts: 267
Joined: Mon Mar 12, 2007 3:45 pm

Post by [Yustas.NeO] »

Instructor wrote:
[Yustas.NeO] wrote:...(не в трэй!)?
В Scripts-Rus.txt в аккурат пример:

Code: Select all

  var hMainWnd=AkelPad.GetMainWnd();
  var oSys=AkelPad.SystemFunction();
  oSys.Call("user32::ShowWindow", hMainWnd, 6 /*SW_MINIMIZE*/);
Супер! То что нужно!

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

Try out a new script to move the words:
MoveWordsLeftRight.js

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

To copy the full path (file / folder) using FilePathCopyToCB.js, and to copy only the file name - RenameFileDialog.js - copy from InputBox.

These scripts can also work from the menu tabs and recent files.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

VladSh wrote:To copy the full path (file / folder) using FilePathCopyToCB.js, and to copy only the file name - RenameFileDialog.js - copy from InputBox.
I thought that RenameFileDialog.js serves only to change the file name.
In the script InsertFileNamePath.js I added the ability to copy to the clipboard.
Locked