2010-06-30 23 views
9

Tôi đang sử dụng tiện ích Notebook để kéo chế độ xem tệp theo tab và tôi đã thêm mã để cho phép tách trang khỏi sổ ghi chép hiện có, tạo ra cửa sổ mới bằng Notebook riêng biệt , chỉ chứa trang đó. Tuy nhiên, tôi cũng muốn có khả năng di chuyển các trang giữa nhiều Notebook.Gắn lại trang vào sổ ghi chép trong GTK #

Đại biểu cung cấp cho tôi trang Notebook từ trang, tiện ích con trang và tọa độ x và y bị bỏ qua, nhưng tôi không biết làm cách nào để có thể cho biết Notebook sẽ bị rơi vào đâu, nếu có. Có một cơ chế tích hợp cho việc gắn lại này hay tôi phải đi theo tọa độ? Nếu tôi phải sử dụng tọa độ, cách tốt nhất để lấy chúng và lấy lại một tiện ích Notebook là gì? Tôi có thể lưu trữ một danh sách các Notebook mà tôi đã nổi xung quanh, nếu cần, nhưng ngay cả sau đó mã để tìm ra cái nào sẽ khó khăn (lấy thứ tự z và tất cả những thứ thú vị đó).

+0

thẻ 'sổ tay' được xóa như một phần của [xóa sạch 2012] (http://meta.stackexchange.com/questions/128315/the-great-stack-overflow-tag-question-cleanup-of-2012). –

Trả lời

2

Tôi quyết định tiếp tục lời khuyên của riêng mình (bạn đã bình chọn -1 và tôi đã xóa vì nó không thực sự trả lời câu hỏi), vì vậy tôi lại mạo hiểm danh tiếng của mình. Với mã:

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

Tại địa chỉ trên, bạn sẽ tìm thấy hai tài liệu lưu trữ của những điều tương tự (kể từ khi tôi không biết cái nào bạn sẽ thích). Trong kho lưu trữ có mã tôi đã viết hôm nay, và điều này thực hiện điều này:

Cửa sổ chính chứa Sổ ghi chép có ba tab, mỗi tab có phần tử giao diện người dùng ngẫu nhiên (nút, lịch và hộp kiểm). Bạn có thể kéo các tab bên ngoài cửa sổ chính. Khi bạn thả chúng ra ngoài cửa sổ chính, một cửa sổ mới được tạo ra, chính nó chứa một sổ ghi chép. Tab bạn vừa đánh sẽ xuất hiện trong cửa sổ mới. Bạn đã cho đến nay chính mình.

Bây giờ, nếu bạn kéo một tab khác từ cửa sổ chính sang cửa sổ mới, tab sẽ được thêm vào sổ ghi chép của cửa sổ mới thay vì tạo cửa sổ mới.

Ngoài ra, nếu bạn kéo tất cả các tab ra khỏi cửa sổ mới, quay lại cửa sổ chính, cửa sổ mới sẽ bị hủy (sau khi tab cuối cùng bị kéo đi).

Điều quan trọng đối với điều này? GroupId = 0 cho tất cả sổ ghi chép. Họ xử lý kéo và giọt mình.

Nếu bạn muốn ẩn các tab trong cửa sổ mới (trước khi bạn gắn lại chúng), bạn có thể muốn xem các vật dụng gắn kết thay vì sổ ghi chép.

Lưu ý: Tôi đã sử dụng MonoDevelop trong Linux để tạo ứng dụng được liên kết.

+0

Ah hah! Tôi biết nó phải là một cái gì đó dọc theo những dòng đó. Cảm ơn bạn rât nhiêu. –

Các vấn đề liên quan