Magic User Interface
میجک یوزر انٹرفیس (مختصر میں ایم یو آئی) اسٹیفن اسٹنٹز کا ایک آبجیکٹ پر مبنی نظام ہے جو گرافیکل یوزر انٹرفیس تیار کرنے اور برقرار رکھنے کے لیے ہے۔ ترجیحات کے پروگرام کی مدد سے، کسی ایپلیکیشن کے صارف کے پاس ذاتی ذائقہ کے مطابق سسٹم کو اپنی مرضی کے مطابق بنانے کی صلاحیت ہوتی ہے۔ میجک یوزر انٹرفیس امیگا او ایس کے لیے لکھا گیا تھا اور اس نے پروگرامرز اور صارفین دونوں میں مقبولیت حاصل کی تھی۔ اسے پاور پی سی پروسیسرز میں پورٹ کیا گیا ہے اور اسے مورفوس آپریٹنگ سسٹم کے ڈیفالٹ جی یو آئی ٹول کٹ کے طور پر اپنایا گیا ہے۔ ایم یو آئی ایپلیکیشن پروگرامر انٹرفیس کو اے آر او ایس ریسرچ آپریٹنگ سسٹم میں استعمال ہونے والے زون ٹول کٹ کے ذریعے کلون کیا گیا ہے۔ امیگا پر جی یو آئی ایپلی کیشنز بنانا بہت طویل عرصے تک مشکل تھا، بنیادی طور پر اس وجہ سے کہ پروگرامر کو آپریٹنگ سسٹم سے صرف ایک معمولی مقدار میں سپورٹ ملتی تھی۔ کک اسٹارٹ 2 سے شروع کرتے ہوئے، gadtools.library صحیح سمت میں ایک قدم تھا، تاہم، پیچیدہ اور لچکدار انٹرفیس تیار کرنے کے لیے اس لائبریری کا استعمال کرنا بھی مشکل رہا اور پھر بھی اسے بہت زیادہ صبر کی ضرورت تھی۔ یوزر انٹرفیس کی تخلیق کے لیے موجودہ ٹولز میں سب سے بڑا مسئلہ غیر لچکدار آؤٹ پٹ تھا۔ زیادہ تر پروگرام اب بھی بلٹ ان فونٹ اور ونڈو سائز استعمال کر رہے تھے، اس طرح نئے ہائی ریزولوشن گرافکس ہارڈ ویئر اڈاپٹرز کا استعمال تقریبا ناقابل برداشت ہو گیا۔ یہاں تک کہ ورک بینچ پر ترجیحی پروگرام اب بھی صرف ڈیفالٹ فکسڈ چوڑائی والے فونٹ کا استعمال کر رہے تھے۔ 1992 میں اسٹیفن اسٹنٹز نے امیگا کے لیے ایک نیا آبجیکٹ پر مبنی جی یو آئی ٹول کٹ تیار کرنا شروع کیا۔ نئے جی یو آئی ٹول کٹ کے اہم اہداف یہ تھے: فونٹ کی حساسیت: ہر ایپلی کیشن میں فونٹ سیٹ کرنا ممکن ہے۔ بدلنے کے قابل ونڈو سائز: ونڈوز میں ایک سائز کا گیجٹ ہوتا ہے جو صارفین کو ونڈو کا سائز اس وقت تک تبدیل کرنے کی اجازت دیتا ہے جب تک کہ یہ ان کی ضروریات کے مطابق نہ ہو۔ لچک: عناصر کو صارف اپنے ذاتی ذوق کے حوالے سے تبدیل کر سکتا ہے۔ کی بورڈ کے ذریعے کنٹرول کرنا: ویجٹ کو کی بورڈ کے ساتھ ساتھ ماؤس کے ذریعے بھی کنٹرول کیا جا سکتا ہے۔ سسٹم انٹیگریشن: ہر پروگرام میں ایک اے آر ایکس ایکس پورٹ ہوتا ہے اور اسے گیجٹ کو دبا کر یا کموڈٹیز ایکسچینج پروگرام کا استعمال کرکے آئیکونیفائی یا یونیکونیفائی کیا جا سکتا ہے۔ اس کے ماحول کے مطابق ایڈجسٹ کرنا: ہر ایپلیکیشن کو کسی بھی اسکرین پر کھولنے کے لیے بنایا جا سکتا ہے اور خود کو اس کے ماحول کے مطابق ڈھال سکتا ہے۔ ایم یو آئی کو شیئر ویئر کے طور پر جاری کیا گیا تھا۔ ایم یو آئی 3.9 سے شروع کرتے ہوئے ایک غیر محدود ورژن مورفوس کے ساتھ مربوط ہے، لیکن امیگا او ایس میں تمام صارف کنفیگریشن آپشنز کو چالو کرنے کے لیے اب بھی ایک شیئر ویئر کلید کی ضرورت ہے۔ ایپلیکیشن تھیوری UI ڈویلپمنٹ GUI بلڈرز کی مدد کے بغیر سورس کوڈ کی سطح پر کی جاتی ہے۔ ایم یو آئی ایپلی کیشن میں پروگرامر صرف جی یو آئی کے منطقی ڈھانچے کی وضاحت کرتا ہے اور ترتیب کا تعین صارف کی ترتیب کے لحاظ سے رن ٹائم پر کیا جاتا ہے۔ دوسرے GUI ٹول کٹ کے برعکس ڈویلپر UI آبجیکٹ کے لیے عین مطابق نقاط کا تعین نہیں کرتا بلکہ آبجیکٹ گروپوں کا استعمال کرتے ہوئے صرف ایک دوسرے کے لیے ان کی متعلقہ جگہ کا تعین کرتا ہے۔ روایتی وجدان پر مبنی UI کوڈنگ پروگرامر کو فونٹ اور بارڈر سائز سے متعلق گیجٹ کی جگہ کا حساب لگانا پڑتا تھا۔ ڈیفالٹ طور پر تمام UI عناصر قابل تجدید ہوتے ہیں اور ونڈو کے سائز سے ملنے کے لیے ان کا سائز تبدیل کرتے ہیں۔ اگر اسکرین پر مکمل مواد کے ساتھ ونڈو کو ظاہر کرنے کے لیے کافی جگہ نہیں ہے تو یہ خود بخود چھوٹے فونٹ میں تبدیل ہو سکتا ہے یا UI عناصر کو چھپا سکتا ہے۔ اس سے UI بنانا بہت آسان ہو جاتا ہے جو چھوٹے اور بڑے ڈسپلے کو بھی اچھی طرح سے ڈھال لیتا ہے۔ آج 50 سے زیادہ بلٹ ان ایم یو آئی کلاسیں اور مختلف تھرڈ پارٹی ایم یو آئی کلاسیں ہیں۔ مثال// مکمل ایم یو آئی ایپلیکیشن #include <لائبریریاں/mui. h> #include <پروٹو/میو ماسٹر. h>// نمونہ ایپلیکیشن: ایپلیکیشن آبجیکٹ، سب ونڈو، ونڈو آبجیکٹ، ونڈو کنٹینٹس، وی گروپ، چائلڈ، ٹیکسٹ آبجیکٹ، ایم یو آئی اے _ ٹیکسٹ _ کنٹینٹس، "ہیلو ورلڈ! "، اینڈ، اینڈ، اینڈ ؛ یہ مثال کوڈ" ہیلو ورلڈ! "متن کے ساتھ ایک چھوٹی سی ایم یو آئی ایپلی کیشن بناتا ہے۔ اس پر ظاہر ہوتا ہے۔ ایم یو آئی ایپلی کیشن کے اندر دیگر BOOPSI پر مبنی GUI ٹول کٹ آبجیکٹ کو سرایت کرنا بھی ممکن ہے۔ ایپلی کیشنز کچھ قابل ذکر ایپلی کیشنز جو ایم یو آئی کو بطور ویجیٹ ٹول کٹ استعمال کرتی ہیں ان میں شامل ہیں: الادن 4 ڈی-3 ڈی رینڈرنگ/اینیمیشن ایپلی کیشن ایمبیئنٹ-ڈیسک ٹاپ ماحول ایم آئی آر سی-آئی آر سی کلائنٹ ڈیجیٹل کائنات-ڈیسک ٹاپ پلینیٹیریم آئی براؤز-ویب براؤزر اوریجن ویب براؤزر-ویب براؤزر پیج اسٹریم-ڈیسک ٹاپ پبلشنگ سمپل میل-ای میل کلائنٹ وائجر-ویب براؤزر وائی اے ایم-ای میل کلائنٹ دیگر جی یو آئی ٹول کٹس فی الحال امیگا دنیا میں دو اہم ویجیٹ ٹول کٹس ہیں، جو ایک دوسرے سے مقابلہ کر رہے ہیں۔ سب سے زیادہ وسیع پیمانے پر استعمال ہونے والا ایم یو آئی ہے (اے آر او ایس، مورفوس اور زیادہ تر امیگا پروگراموں میں اپنایا گیا)، دوسرا ری ایکشن ہے جسے امیگا او ایس 3.5 میں اپنایا گیا تھا۔ ایک جی ٹی کے ایم یو آئی ریپر تیار کیا جا رہا ہے اور یہ جی ٹی کے پر مبنی مختلف سافٹ ویئر کی پورٹنگ کی اجازت دے گا۔ ایکس ایم ایل، فیلین پر مبنی جدید انٹرفیس بھی ہیں۔ ورک بینچ ڈیفالٹ میں پیلیٹ کی توسیع ایم یو آئی نے ورک بینچ کے چار رنگوں کے پیلیٹ کو چار اضافی رنگوں کے ساتھ بڑھایا، جس سے کم نمایاں ڈیترنگ کے ساتھ ہموار میلان کی اجازت ملتی ہے۔ ایم یو آئی کے میجک ڈبلیو بی ساتھی نے اس توسیعی پیلیٹ کا استعمال ڈیٹڈ ورک بینچ ڈیفالٹ کو تبدیل کرنے کے لیے زیادہ پرکشش شبیہیں فراہم کرنے کے لیے کیا۔ ایم یو آئی 4 نے الفا مرکب کے لیے سپورٹ اور صارف کی وضاحت کردہ ویجیٹ شکلوں کے لیے سپورٹ شامل کی۔ یہ بھی دیکھیں ری ایکشن جی یو آئی (کلاس ایکٹ) زون حوالہ جات بیرونی لنکس ایم یو آئی ہوم پیج غیر سرکاری ایم یو آئی نائٹلی بلڈ ڈائریکٹری ٹیوٹوریل ویجیٹ ٹول کٹ امیگا اے پی آئی امیگا سافٹ ویئر امیگا او ایس امیگا او ایس 4 سافٹ ویئر مورفوس