Вверх ↑
Этот топик читают: Гость
Ответов: 294
Рейтинг: 64
#1: 2010-03-14 19:44:13 ЛС | профиль | цитата
HiAsm_Widgets_Panel
Version: "Mega_Alpha"
-------------------

"Аналог" боковой панели в Widows Vista, но использующая обычные *.exe файлы в качестве виджетов, из чего следует, что пользователи HiAsm_а смогут самостоятельно делать виджеты "под себя".


Настройки:
----------
Запуск с Windows;
Выбор виджетов;
Режим "поплавок";
Выравнивание - право/лево;
Прозрачность.


Для наглядности прилагаются 5 виджетов:

1. ClockFlash.exe — Флэш-часы (16 видов, доступно в настройках - клик по часам>setting>changeClock). Поскольку используется элемент Flash - под FPC не компиллируется и требует наличия в системе FlashPlayer_а.

2. Holiday.exe - Показывает ближайшие праздники и именины (В настройках доступен выбор одного из двух ресурсов-информеров (один из них подсмотрен у Ravir)).

3. CPU.exe — Показывает в процентах загрузку процессора и оперативной памяти
(По причине неработоспособности элемента MemoryStatus с объемами RAM более 2-х Гб - индикатор оперативки будет работать только у обладателей "скромного" объема RAM)
[flood]Пробовал получить цифры через doConsoleExec элемента WinExec: wmic path Win32_operatingsystem get totalvisiblememorysize и wmic path Win32_operatingsystem get FreePhysicalMemory - не работает... хотя в CMD эти команды дают результат.[/flood]

4. Do_you_know.exe — Показывает один из выбранных типов сообщений. Настройки: Что показывать - Анекдоты, Полезные советы, Советы диетолога, Правильное питание, Здоровые советы. Интервал через который сообщение будет обновляться.
Потребляет минимум трафика (менее 1 кб за сообщение).

5. HiAsmForum.exe - Показывает кто OnLine на форуме HiAsm, переход на форум по клику на лого. (практической пользы наверное не имеет, хотя если добавить выбор авторизированного/неавторизированного перехода на форум, да прибавить последнюю тему...)



Поскольку требуется структура папок/подпапок и компилляция нескольких sha, выкладываю архив, включающий exe_файлы для "быстрого посмотреть", sha - тоже само собой (Недоверчивым - перекомпиллить все файлы, сохраняя структуру папок).
Скачать: http://hiasm.com/forum_serv.php?q=56&id=1177 459кб

Выглядит примерно так:



карма: 0

1
Голосовали:unalex
Ответов: 3349
Рейтинг: 233
#2: 2010-03-14 19:57:02 ЛС | профиль | цитата
я пытался что-то подобное сделать.
но с html виджетами
карма: 1

0
Ответов: 970
Рейтинг: 270
#3: 2010-03-14 19:58:26 ЛС | профиль | цитата
погоду xml можно с агента приделать (http://weather.agent.mail.ru/inf/magent_main.xml?city=2866)
карма: 0

0
Ответов: 3349
Рейтинг: 233
#4: 2010-03-15 14:46:25 ЛС | профиль | цитата
или с яндекса.
гугл на крайняк
карма: 1

0
Ответов: 294
Рейтинг: 64
#5: 2010-03-15 15:28:50 ЛС | профиль | цитата
Ivann писал(а):
погоду xml можно с агента приделать

Ivann писал(а):
или с яндекса. гугл на крайняк


Да много откуда можно... и не только погоду)) Учитывая не только простоту получения информации, но и минимальное потребление трафика.

Я выкладывал основу (управляющую программу - Widgets_Panel.sha), а виджеты - только как пример, как раз для того, чтобы каждый желающий мог добавлять свое (можно будет в шапку этой темы добавлять удачное).
То есть смысл не в представленных виджетах, а в возможности управлять ими (не надо запускать/останавливать/прописывать в автозагрузку каждый в отдельности).
Да, кстати, для скачавших - запускать надо Widgets_Panel.exe, а не отдельное из папки Widgets.

Вот шаблон виджета с минимальным набором функционала для работы с Widgets_Panel:
[color=rgb(169, 169, 169)](добавил проверку на отсутствие Widgets.ini, чтобы запускался отдельно, иначе AlphaBlend=0. А так - 2 элемента можно снести, ибо Widgets_Panel сама проверяет наличие Widgets.ini и если нет - создает перед запуском виджетов)[/color]
Add(MainForm,11329518,161,28)
{
Left=15
Top=15
Width=141
Height=160
Caption="Test"
BorderStyle=3
TaskBar=1
DragForm=0
Point(doTop)
Point(doLeft)
Point(doAlphaBlendValue)
Point(Handle)
Point(onClose)
Point(Width)
Point(Height)
link(onCreate,6014317:doEvent1,[])
link(onClose,13727198:doAnimate,[(202,55)(202,125)])
}
Add(Hub,6014317,210,42)
{
link(onEvent1,1955442:In,[(231,48)(231,27)])
}
Add(LineBreak,7209742,42,56)
{
Caption="onCreate"
link(Out,11296966:doWork1,[])
Primary=[1955442,196,-35]
}
Add(MultiElement,11296966,112,56)
{
link(onEvent1,11329518:doTop,[])
link(onEvent2,11329518:doLeft,[])
link(onEvent3,11329518:doAlphaBlendValue,[])
link(Data1,1317105:Var1,[(118,41)(37,41)(37,96)])
}
BEGIN_SDK
Add(EditMulti,13553469,21,21)
{
EventCount=3
WorkCount=1
DataCount=1
Width=307
Height=326
link(doWork1,1031696:doEvent1,[(42,27)(42,120)])
}
Add(Application,12901992,112,65)
{
}
Add(FilePartElm,12539328,112,114)
{
link(onPart,12049958:doEvent1,[])
link(FileName,12901992:AppFileName,[])
}
Add(Hub,1031696,56,114)
{
OutCount=4
link(onEvent1,12539328:doPart,[])
link(onEvent2,14225378:doRead,[(91,127)(91,176)])
link(onEvent3,648306:doRead,[(85,134)(85,218)])
link(onEvent4,5885415:doWrite,[(79,141)(79,309)])
}
Add(Hub,12049958,154,114)
{
link(onEvent1,6330342:doValue,[(182,120)(182,71)])
link(onEvent2,1160293:doEnum,[])
}
Add(Ini,14225378,112,170)
{
FileName="Widgets.ini"
Section="Main"
Key="left_position"
link(onResult,13553469:onEvent2,[(290,176)(290,34)])
}
Add(Ini,648306,112,212)
{
FileName="Widgets.ini"
Section="Main"
Key="alphablend"
link(onResult,13510055:doCompare,[(152,218)(152,218)])
}
Add(GlobalVar,6330342,189,65)
{
Name="FileName"
}
Add(ArrayEnum,1160293,203,121)
{
link(onItem,13553469:onEvent1,[(280,127)(280,27)])
link(Array,12901992:Params,[(209,106)(125,106)])
}
Add(GlobalVar,13112692,126,261)
{
Name="FileName"
}
Add(Ini,5885415,112,296)
{
FileName="Widgets.ini"
Section="Run_Widgets_Handles"
link(Key,13112692:Var,[])
link(Value,13553469:Data1,[(139,286)(154,286)(154,337)(27,337)])
}
Add(If_else,13510055,161,212)
{
Op2=Integer(0)
link(onTrue,14464355:doData,[(205,218)(205,195)])
link(onFalse,16073908:doWork3,[(313,225)])
}
Add(DoData,14464355,217,189)
{
Data=Integer(255)
link(onEventData,16073908:doWork2,[])
}
Add(HubEx,16073908,309,189)
{
Angle=3
link(onEvent,13553469:onEvent3,[(313,41)])
}
END_SDK
Add(LineBreakEx,4081394,133,119)
{
Caption="h"
Type=3
link(_Data,1317105:Var2,[(139,109)(167,109)])
}
Add(LineBreakEx,10232988,238,91)
{
Caption="h"
Type=2
}
Add(WindowAnimation,13727198,238,119)
{
Step=2
Type=10
Mode=1
link(Handle,10232988:getVar,[])
}
Add(GetDataEx,1317105,161,91)
{
link(Data,11329518:Handle,[])
}




Так что свои идеи можно не описывать словами, а показывать в схемах )


карма: 0

0
Ответов: 3349
Рейтинг: 233
#6: 2010-03-15 18:29:02 ЛС | профиль | цитата
wether yandex
карма: 1

0
Ответов: 294
Рейтинг: 64
#7: 2010-03-15 23:10:36 ЛС | профиль | цитата
Ivann писал(а):
wether yandex


Чудны крестьянские дети...
Эта схема не имеет отношения к данной теме, ибо никак не взаимодействует с панелью.
Для чего я шаблон выше выкладывал?
Quest писал(а):
Вот шаблон виджета с минимальным набором функционала для работы с Widgets_Panel:


Ну а так, если уж ты все равно использовал WebBrowser, то можно сократить твою схему раз эдак в... 10 (со 143 элементов до 14) + съэкономить на трафике.
code_17344.txt
карма: 0

0
файлы: 1code_17344.txt [9KB] [251]
Ответов: 3349
Рейтинг: 233
#8: 2010-03-16 05:30:17 ЛС | профиль | цитата
я не на web browser делал.
А на разметки html.
И делал не для твоей панели, а для себя.
Из того что я делал для себя-> на трафик мне разницы нет.
карма: 1

0
Ответов: 3514
Рейтинг: 184
#9: 2010-03-16 08:17:07 ЛС | профиль | цитата
Так а че тогда сюда клал?
карма: 0
0
Ответов: 3349
Рейтинг: 233
#10: 2010-03-16 10:15:38 ЛС | профиль | цитата
я клал не сюда, а сюда.
Просто кинул ссылку сюда, как пример
[burl=http://hiasm.com/forum.html?q=3&p=144378]Погода Yandex[/burl]
карма: 1

0
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)