مشروع برمجة enigma1 plugins

الحالة
مغلق و غير مفتوح للمزيد من الردود.

TELE

عضو فريق عمل قسم الدريم بوكس
إنضم
20 سبتمبر 2006
المشاركات
1.324
مستوى التفاعل
4.951
user.aspx



89009186.png

اقدم اليكم 8 دروس في إنشاء enigma1 plugins بعد نهايتها نكون قادرين على إنشاء plugin..​



ماذا تحتاج :
1- معرفة جيدة بلغة C++.
2-جهاز دريم ENIGMA 1.
3-تنصيب VMware Player على الحاسوب.
4-تنزيل نظام StinkyLinux V2.01 من الموقع..
5-تثبيت البيئة الإعدادية Enigma CDK .
تجدون مع كل درس مرفق به:
bibledemo.so
Bibledemo.o
Bibledemo.cfg
Makefile



الشروحات

1- تنصيب VMware Player على الحاسوب:
http://www.tunisia-sat.com/vb/showthread.php?t=1317079&highlight=vmware+player

2-تنزيل نظام StinkyLinux V2.01:
ندخل لهذا الموقع mydrive.ch


ندخل اليوزر و الباس :user: slightly@stinkylinux pass: stinky






3- تثبيت البيئة الإعدادية : Enigma CDK

تعليمات لإعداد Enigma CDK :

نشغل الترمنال و ندخل هذه الكودات كما نتاكد من وجود ربط بالأنترنات خلال الإعداد:
cd /
mkdir /dream
cd /dream
export CVS_RSH=ssh
cvs -d [email protected]:/cvs/tuxbox -z3 co -P -rdreambox .
cd cdk
chmod ugo+x prepare
./prepare dm500
make checkout
make dreamboximage_root
make rebuild-flash
make flash-compress​
في النهاية نكون قد كونا صورة للدريم و اعددنا بيئة cdk .

الدرس الاول : 01 Hello World​






ندخل makefile





: هو السورس bibledemo.cpp


libraries


class



function





إنشاء plugin..






يمكن تغيير في النص وإعادة إنشاء البلوكن




يتبع
الدرس الثاني
 

المرفقات

  • lesson1.zip
    7,3 KB · المشاهدات: 383
:besmellah2:
89009186.png

الدرس 2 : أزرار

سوف نضيف إلى نافذة التي كوناها في الدرس السابق زر للخروج من التطبيق.
يمكنك ان ترى المثال في الصورة.

يمكنك اختبار هذا التطبيق و تحميله في الدريم بوكس في المسار VAR/TUXBOX/PLUGIN .

يمكنك تعديل هذا التطبيق وذلك بتغيير ملف المصدر bibledemo.cpp واعادة تجميع.

هذ الكود الرئيسي لإظافة زر وإدارتها.

// create button
eButton(eWidget *parent);
// set button text
setText(eString string);
// positioning
move(ePoint(x, y));
// sizing
resize(eSize(x, y));
// set shortcut and pixmap
setShortcut(int color);
setShortcutPixmap(int pixmap);
// decore with a frame
loadDeco();
// function to call when button is pressed
CONNECT(eButton->selected, function);

الإضافات bibledemo.cpp :

علينا أن نضيف إلى Include الملفات مكتبة زر :
#include <lib/gui/ebutton.h>



الآن علينا إضافة زر في: class



ثم إضافة زر في الوظيفة الرئيسية: main Function


بعد التجميع و إرسال البلوكن للدريم نتحصل على هذه الصورة


كما يمكن تغييرفي السورس و إظافة زر ثانى


نتحصل على هذه الصورة


يتبع
الدرس الثالث
 

المرفقات

  • lesson2.zip
    8,5 KB · المشاهدات: 112
:besmellah2:

89009186.png

الدرس 3 : MessageBox

سوف نضيف إلى النافذة 2 ازرار لدعوة 2 رسائل مختلفة.
يمكنك ان ترى المثال في الصورة.
يمكنك اختبار هذا التطبيق و تحميله في الدريم بوكس في المسار VAR/TUXBOX/PLUGIN .

يمكنك تعديل هذا التطبيق وذلك بتغيير ملف المصدر bibledemo.cpp واعادة تجميع.


هذ الكود الرئيسي لإنشاء messagebox وإدارتها.​


// create messagebox
eMessageBox(eString string, eString caption, int flags=btOK, int def=btOK, int timeout=0 );
// Flags: Buttons
btOK=1, btCancel=2, btYes=4, btNo=8, btMax
// Flags: Icons
iconInfo=16, iconWarning=32, iconQuestion=64, iconError=128
//Functions:
show;
exec;
hide();


الإضافات bibledemo.cpp :

علينا أن نضيف إلى Include الملفات مكتبة زر :



الآن نقوم بإضافة وظيفتين ل CLASS هي :
void message1();
void message2();



الآن علينا إضافة أزرار اثنين في الوظيفة الرئيسية للاتصال main function
واظهار مربعات الرسالة:



الكود الذي سوف يظهر MessageBox الأولى و الثاني



بعد التجميع و إرسال البلوكن للدريم نتحصل على هذه الصورة







يتبع
الدرس الرابع
 

المرفقات

  • lesson3.zip
    9,4 KB · المشاهدات: 87
:besmellah2:

89009186.png

الدرس 4 -- TextInput​


سوف نضيف نافذة لإظهار النص الذي لدينا TextInput و وmessagebox .
يمكنك ان ترى المثال في الصورة.
يمكنك اختبار هذا التطبيق و تحميله في الدريم بوكس في المسار VAR/TUXBOX/PLUGIN .
يمكنك تعديل هذا التطبيق وذلك بتغيير ملف المصدر bibledemo.cpp واعادة تجميع.

هذ الكود الرئيسي لإنشاء وإدارة TextInput


// create TextInput
eTextInputField( eWidget* parent, eLabel *descr=0,
eTextInputFieldHelpWidget* hlp=0, const char *deco="eNumber" );
// Functions:
setText(eString);
setMaxChars( int i )
setUseableChars( const char* );



الإضافات bibledemo.cpp :

علينا أن نضيف إلى Include لملفات المكتبة TextInput :​

#include <lib/gui/textinput.h>



الآن علينا إضافة TextInput في: class



ثم إضافة TextInput في الوظيفة الرئيسية: main Function


وأخيرا إضافة الكود لإظهار MessageBox مع النص الذي
أدرجناه في textinput .





بعد التجميع و إرسال البلوكن للدريم نتحصل على هذه الصورة​




يتبع
الدرس الخامس
 

المرفقات

  • lesson4.zip
    9,7 KB · المشاهدات: 123
:besmellah2:

89009186.png

الدرس 5 -- Checkbox

سوف نضيف إلى النافذة التي لدينا messagebox للإظهار رسالة.
يمكنك ان ترى المثال في الصورة.
يمكنك اختبار هذا التطبيق و تحميله في الدريم بوكس في المسار VAR/TUXBOX/PLUGIN .

يمكنك تعديل هذا التطبيق وذلك بتغيير ملف المصدر bibledemo.cpp واعادة تجميع.


هذ الكود الرئيسي لإنشاء Checkbox وإدارتها.​

// create Checkbox
eCheckbox(eWidget *parent, int checked=0, int takefocus=1, bool swapTxtPixmap=false, const char*deco="eCheckBox" );
// Functions:
setCheck(int c);
int isChecked() { return ischecked; **

الإضافات bibledemo.cpp :
علينا أن نضيف إلى Include الملفات مكتبة Checkbox :



الآن نقوم بإضافة وظيفة Checkbox ل CLASS هي :




ثم إضافة Checkbox في الوظيفة الرئيسية: main Function



وأخيرا إضافة الكود لإظهار MessageBox .




بعد التجميع و إرسال البلوكن للدريم نتحصل على هذه الصورة




يتبع
الدرس السادس
 

المرفقات

  • lesson5.zip
    9,2 KB · المشاهدات: 81
:besmellah2:

89009186.png

الدرس 6 : القائمة : Listbox
سوف نضيف إلى النافذة التى لدينا قائمة و رسالة وإظهار .
يمكنك ان ترى المثال في الصورة.
يمكنك اختبار هذا التطبيق و تحميله في الدريم بوكس في المسار VAR/TUXBOX/PLUGIN .
يمكنك تعديل هذا التطبيق وذلك بتغيير ملف المصدر bibledemo.cpp واعادة تجميع.

هذ الكود الرئيسي لإنشاء listbox وإدارتها.​

// create Listbox
eListBoxEntry(eListBox<eListBoxEntry>* parent, eString hlptxt=0, int selectable=3 );
// Functions:
selectedItem(eListBoxEntryText *item);
selectionChanged(eListBoxEntryText *item);
setColumns(int);
beginAtomic();
clearList();
endAtomic();
// Listbox items:
//create new item:
eListBoxEntryText(eListBox<eListBoxEntryText>* lb, const char* txt=0, void
****=0, int align=0, const eString &hlptxt="", int ***type = value );
// retrieve selected item
item->getText();
// retrieve selected ***
item->get***()

الإضافات bibledemo.cpp :
علينا أن نضيف إلى Include الملفات مكتبة listbox :



الآن نقوم بإضافة وظيفة listbox ل CLASS هي :



ثم إضافة listbox في الوظيفة الرئيسية:
main Function

وأخيرا إضافة الكود لإظهار listbox .



بعد التجميع و إرسال البلوكن للدريم نتحصل على هذه الصورة




يتبع
الدرس السابع
 

المرفقات

  • lesson6.zip
    12,7 KB · المشاهدات: 72
:besmellah2:

89009186.png

الدرس 7 -- Combobox
سوف نضيف إلى النافذة التى لدينا Combobox و messagebox .
يمكنك ان ترى المثال في الصورة.
يمكنك اختبار هذا التطبيق و تحميله في الدريم بوكس في المسار VAR/TUXBOX/PLUGIN .
يمكنك تعديل هذا التطبيق وذلك بتغيير ملف المصدر bibledemo.cpp واعادة تجميع.


هذ الكود الرئيسي لإنشاء Combobox وإدارتها.​
// create Combobox
eComboBox(eWidget* parent, int OpenEntries=5, eLabel* desc=0, int takefocus=1, const char *deco="eComboBox" );
// Functions:
int setCurrent( int, bool=false );
// Listbox items:
//create new item:
eListBoxEntryText(eListBox<eListBoxEntryText>* lb, const char* txt=0, void
****=0, int align=0, const eString &hlptxt="", int ***type = value );
// retrieve selected item
getCurrent()->getText();
// retrieve selected ***
getCurrent()->get***()

الإضافات bibledemo.cpp :
علينا أن نضيف إلى Include الملفات مكتبة Combobox:


الآن نقوم بإضافة وظيفة Combobox ل CLASS هي :​


ثم إضافة Combobox في الوظيفة الرئيسية:
main Function


وأخيرا إضافة الكود لإظهار Combobox .


بعد التجميع و إرسال البلوكن للدريم نتحصل على هذه الصورة



يتبع
الدرس الثامن
 

المرفقات

  • lesson7.zip
    11,4 KB · المشاهدات: 92
:besmellah2:
89009186.png


الدرس 8 -- HTTP connection & Download



هذا هو الدرس الأخير في هذه السلسلة.
سوف نقوم إنشاء تطبيق بمكن من خلاله الربط بموقع wiki و تحميل منه صفحة Mkportal .
وهذا الكود الكامل ل bibledemo.cpp.












 

المرفقات

  • lesson8.zip
    16,7 KB · المشاهدات: 206
شكرا اخي TELE على هذه الدروس المفصله والواضحه
الدروس ترسم ملامح مستقبلا يتعدى الحدود القصوى التقليديه لاهداف اقسام الدريمبوكس الى عالم الخلق والابتكار والابداع
نأمل الاستفاده من هذه الدروس لابتكار بلاكنات جديده


وكل عام وانت والجميع بخير
 
بورك فيك و في صالح أعمالك
أبدعت و أقنعت
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.
أعلى