2011-02-02 15 views
6

एक मौजूदा प्रोजेक्ट पर हम एमवीपी (हाथ से तैयार) उचित रूप से अच्छी तरह से उपयोग कर रहे हैं। यह समझा जाता है और जो हमें चाहिए वह करता है। एक नई परियोजना के लिए मैं जीडब्ल्यूटी 2.1 (क्रियाएँ और स्थान) में निर्मित एमवीपी ढांचे का उपयोग कर रहा हूं।जीडब्ल्यूटी 2.1 एमवीपी (गतिविधियां/स्थान) और टैब्ड प्रदर्शित

हमारे एप्लिकेशन अधिकतर टैब किए गए डिस्प्ले होते हैं जिनमें प्रत्येक टैब को एकल दृश्य विजेट से बंधे होते हैं।

मैंने इस प्रकार के प्रदर्शन के लिए सफलता के बिना क्रियाकलापों और स्थानों का उपयोग करने की कोशिश की है। समस्या का एक हिस्सा यह है कि उदाहरण हैलो वर्ल्ड आलेख ने मुझे अपनी पूंछ का पीछा करते हुए छोड़ दिया, मेरे मस्तिष्क को पचाने के लिए बहुत सी नई अवधारणाएं।

हैलो वर्ल्ड नमूना आईएमओ पर्याप्त परिचय नहीं है और वास्तविक दुनिया के कई मामलों के मामलों से निपटता नहीं है। मैं उम्मीद कर रहा था कि कोई मुझे किसी भी नमूना अनुप्रयोगों की दिशा में इंगित कर सकता है जो टैबबड डिस्प्ले के लिए एमवीपी का उपयोग करता है। थॉमस ब्रॉयर के पास उनके ब्लॉग पर कुछ उत्कृष्ट पोस्ट हैं लेकिन इन्हें अभी भी थोड़ा परेशान छोड़ दिया है।

पहले मैंने प्रत्येक टैब के लिए टैब परिवर्तन और एकल प्रस्तुतियों को संभालने के लिए एक ऐप कंट्रोलर का उपयोग किया है। जीडब्ल्यूटी 2.1 में नया आर्किटेक्चर मुझे और अधिक भ्रमित करता है कि इसे करना चाहिए।

उत्तर

1

मैंने यहां एक समान प्रश्न पूछा GWT 2.1 Places example without Activities लेकिन यह वास्तव में भी इस प्रश्न का उत्तर देता है।

1

मैं एक टैबड डिस्प्ले के लिए gwt क्रियाएँ/स्थान ढांचे का उपयोग कर रहा हूं, और यह बहुत अच्छा काम करता है, लेकिन मैंने TabLayoutPanel विजेट को छोड़ने का निर्णय लिया है जिसका उपयोग हम कर रहे थे और अपना स्वयं का navbar (जो टैब की तरह दिखता है) और एक सामग्री फलक। प्रभाव वही है - यह समान दिखता है - लेकिन कार्यान्वयन बहुत साफ है।

मुझे लगता है कि समस्या TabPanel के साथ नेविगेशन का अपना विचार है, जिसमें नेविगेशन का एक और विचार है। पहले मैंने प्लेस कंट्रोलर को ट्रिगर करने के लिए टैब बटन व्यवहार को ओवरराइड करने की कोशिश की, जिसने बदले में टैब को स्विच किया, लेकिन ... यह गन्दा था। स्वतंत्र नौसेना/सामग्री फलक के साथ, प्लेस कंट्रोलर सबकुछ ऐसा कर सकता था जैसा वह चाहता था। TabPanel को आपके लिए यह करने की बजाय आपको बस मैन्युअल रूप से दृश्यों को स्विच करना होगा।

1

मैं भी इस समस्या का सामना करना पड़ा, लेकिन यह टैब प्रति एक गतिविधि और प्रत्येक गतिविधि टैब के घटकों को प्रदर्शित करने के एक प्रस्तोता (या अधिक) का उपयोग कर का उपयोग कर काम करने में कामयाब रहे।

समाधान रिले लार्क द्वारा पाया के बारे में, मैं, बजाय, एक डेकोरेटर पैटर्न का उपयोग करने और, इसलिए, मूल TabbedPanel रखने से चुना। कैसे ? प्रत्येक गतिविधि इंजेक्शन (जीआईएन) एक प्रेजेंटर हो जाती है जिसमें टैब्डपेनल के लिए सजावट होती है।

तो, उदाहरण के लिए:

  • Tab1Activity Tab1Presenter, जो, बारी में, Tab1Decorator इंजेक्शन हो जाता है जो एक Tab1ContentPanel साथ TabbedPanel (इस पैनल के सभी विजेट पर प्रदर्शित करने में शामिल है सजाया गया इंजेक्शन हो जाता है tab1 टैब)

  • Tab2Activity Tab2Presenter, जो, बारी में, Tab2Decorator इंजेक्शन हो जाता है जो (इस पैनल के सभी विजेट Tab2 टैब पर प्रदर्शित करने के लिए होता है)

  • एक Tab2ContentPanel के साथ एक ही TabbedPanel से सजाया गया इंजेक्शन हो जाता है

जटिल लगता है लेकिन, पहले सजावट बनाने के बाद, यह वास्तव में भुगतान किया गया और मैं टैब्डपैनल रखने में सक्षम था और ढांचे में यूआरएल इतिहास प्रबंधन का लाभ उठा सकता था।

+0

जीडब्ल्यूटी में कोई टैब्डपैनल नहीं है - टैबपैनल है, जो केवल क्विर्क मोड में काम करता है, और टैबलेआउट पैनेल, जिसे ActivityManager द्वारा स्वीकार नहीं किया जाता है। मैंने इस दृष्टिकोण की कोशिश की है और यह काम नहीं करता है। कृपया कोड दिखाएं या आगे विस्तृत करें। – Saad

संबंधित मुद्दे