2010-06-30 16 views
9

Używam widgetu Notatnik do ściągnięcia widoku z zakładkami, a dodałem kod umożliwiający odłączenie stron od istniejącego Notatnika, który spawnuje nowe okno z oddzielnym Notatnikiem , zawierający tylko tę stronę. Jednak chciałbym również przenosić strony między wieloma notatnikami.Ponowne podłączanie stron do Notatnika w GTK #

Delegat daje mi Notatnik, z którego pochodzi strona, widżet strony oraz współrzędne x i y, do których jest on upuszczany, ale nie wiem, jak mogę określić, na jaki Notatnik jest on upuszczany. Czy istnieje wbudowany mechanizm dla tego ponownego podłączenia, czy też muszę przejść przez współrzędne? Jeśli muszę użyć współrzędnych, jaki jest najlepszy sposób ich pobierania i odzyskania widżetu notatnika? Mogę przechowywać listę notebooków, które mam pływające w pobliżu, w razie potrzeby, ale nawet wtedy kod, aby dowiedzieć się, który z nich jest, który będzie nieco trudne (biorąc pod uwagę z-zamówienia i wszystkie te zabawne rzeczy pod uwagę).

+0

'znacznik notebook' usuwane jako część oczyszczania [2012] (http://meta.stackexchange.com/questions/128315/the-great-stack-overflow-tag-question-cleanup-of-2012). –

Odpowiedz

2

postanowiłem pójść na moim własnym radę (który głosował na -1, a ja usunięte, ponieważ tak naprawdę nie odpowiedzieć na pytanie), więc jestem tutaj ponownie ryzykując moją reputację. Z kodem:

http://uplink.kicks-ass.net/~radu/GTK_Sharp_Notebook/

pod powyższym adresem znajdują się dwa archiwa samo (ponieważ nie wiem, który z nich będzie wolisz). W archiwach jest kod, który napisałem dzisiaj, i który to robi:

Główne okno zawiera notatnik z trzema zakładkami, z których każda ma losowy element interfejsu użytkownika (przycisk, kalendarz i pole wyboru). Możesz przeciągnąć karty poza główne okno. Po upuszczeniu ich poza głównym oknem tworzone jest nowe okno zawierające sam notatnik. Karta, którą właśnie upuściłeś, pojawi się w nowym oknie. Sam doszedłeś tak daleko.

Teraz, jeśli przeciągnij inną kartę z głównego okna do nowego okna, zakładka zostanie dodana do notesu w nowym oknie zamiast tworzyć nowe okno.

Ponadto, jeśli przeciągnij wszystkie zaczepy od nowego okna z powrotem do głównego okna, nowe okno jest zniszczona (po ostatniej zakładce został odciągnięty).

Klucz do tego? GroupId = 0 dla wszystkich notebooków. Poradzą sobie z oporami i kroplami.

Jeśli chcesz ukryć zakładki w nowych oknach (zanim je ponownie założyć), to prawdopodobnie chcesz zajrzeć do widgetów dokujące zamiast notebooków.

Uwaga: Użyłem MonoDevelop pod Linuksem do stworzenia powiązanej aplikacji.

+0

Ah hah! Wiedziałem, że musi to być coś takiego. Dziękuje bardzo. –