mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-15 08:16:13 +03:00
gtk: move Child/Parent/Position into same file
This commit is contained in:

committed by
Mitchell Hashimoto

parent
be836bc777
commit
19f7b37bb3
@ -10,8 +10,9 @@ const CoreSurface = @import("../../Surface.zig");
|
|||||||
const Window = @import("Window.zig");
|
const Window = @import("Window.zig");
|
||||||
const Surface = @import("Surface.zig");
|
const Surface = @import("Surface.zig");
|
||||||
const Tab = @import("Tab.zig");
|
const Tab = @import("Tab.zig");
|
||||||
const Position = @import("parent.zig").Position;
|
const Position = @import("relation.zig").Position;
|
||||||
const Parent = @import("parent.zig").Parent;
|
const Parent = @import("relation.zig").Parent;
|
||||||
|
const Child = @import("relation.zig").Child;
|
||||||
const c = @import("c.zig");
|
const c = @import("c.zig");
|
||||||
|
|
||||||
/// We'll need to keep a reference to the Window this belongs to for various reasons
|
/// We'll need to keep a reference to the Window this belongs to for various reasons
|
||||||
@ -26,8 +27,8 @@ paned: *c.GtkPaned,
|
|||||||
|
|
||||||
// We have two children, each of which can be either a Surface, another pane,
|
// We have two children, each of which can be either a Surface, another pane,
|
||||||
// or empty. We're going to keep track of which each child is here.
|
// or empty. We're going to keep track of which each child is here.
|
||||||
child1: Tab.Child,
|
child1: Child,
|
||||||
child2: Tab.Child,
|
child2: Child,
|
||||||
|
|
||||||
// We also hold a reference to our parent widget, so that when we close we can either
|
// We also hold a reference to our parent widget, so that when we close we can either
|
||||||
// maximize the parent pane, or close the tab.
|
// maximize the parent pane, or close the tab.
|
||||||
@ -126,28 +127,28 @@ pub fn removeChildInPosition(self: *Paned, position: Position) void {
|
|||||||
|
|
||||||
pub fn addChild1Surface(self: *Paned, surface: *Surface) void {
|
pub fn addChild1Surface(self: *Paned, surface: *Surface) void {
|
||||||
assert(self.child1 == .none);
|
assert(self.child1 == .none);
|
||||||
self.child1 = Tab.Child{ .surface = surface };
|
self.child1 = Child{ .surface = surface };
|
||||||
surface.setParent(Parent{ .paned = .{ self, .start } });
|
surface.setParent(Parent{ .paned = .{ self, .start } });
|
||||||
c.gtk_paned_set_start_child(@ptrCast(self.paned), @ptrCast(surface.gl_area));
|
c.gtk_paned_set_start_child(@ptrCast(self.paned), @ptrCast(surface.gl_area));
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn addChild2Surface(self: *Paned, surface: *Surface) void {
|
pub fn addChild2Surface(self: *Paned, surface: *Surface) void {
|
||||||
assert(self.child2 == .none);
|
assert(self.child2 == .none);
|
||||||
self.child2 = Tab.Child{ .surface = surface };
|
self.child2 = Child{ .surface = surface };
|
||||||
surface.setParent(Parent{ .paned = .{ self, .end } });
|
surface.setParent(Parent{ .paned = .{ self, .end } });
|
||||||
c.gtk_paned_set_end_child(@ptrCast(self.paned), @ptrCast(surface.gl_area));
|
c.gtk_paned_set_end_child(@ptrCast(self.paned), @ptrCast(surface.gl_area));
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn addChild1Paned(self: *Paned, paned: *Paned) void {
|
pub fn addChild1Paned(self: *Paned, paned: *Paned) void {
|
||||||
assert(self.child1 == .none);
|
assert(self.child1 == .none);
|
||||||
self.child1 = Tab.Child{ .paned = paned };
|
self.child1 = Child{ .paned = paned };
|
||||||
paned.setParent(Parent{ .paned = .{ self, .start } });
|
paned.setParent(Parent{ .paned = .{ self, .start } });
|
||||||
c.gtk_paned_set_start_child(@ptrCast(self.paned), @ptrCast(@alignCast(paned.paned)));
|
c.gtk_paned_set_start_child(@ptrCast(self.paned), @ptrCast(@alignCast(paned.paned)));
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn addChild2Paned(self: *Paned, paned: *Paned) void {
|
pub fn addChild2Paned(self: *Paned, paned: *Paned) void {
|
||||||
assert(self.child2 == .none);
|
assert(self.child2 == .none);
|
||||||
self.child2 = Tab.Child{ .paned = paned };
|
self.child2 = Child{ .paned = paned };
|
||||||
paned.setParent(Parent{ .paned = .{ self, .end } });
|
paned.setParent(Parent{ .paned = .{ self, .end } });
|
||||||
c.gtk_paned_set_end_child(@ptrCast(self.paned), @ptrCast(@alignCast(paned.paned)));
|
c.gtk_paned_set_end_child(@ptrCast(self.paned), @ptrCast(@alignCast(paned.paned)));
|
||||||
}
|
}
|
||||||
|
@ -16,8 +16,7 @@ const Paned = @import("Paned.zig");
|
|||||||
const Tab = @import("Tab.zig");
|
const Tab = @import("Tab.zig");
|
||||||
const Window = @import("Window.zig");
|
const Window = @import("Window.zig");
|
||||||
const ClipboardConfirmationWindow = @import("ClipboardConfirmationWindow.zig");
|
const ClipboardConfirmationWindow = @import("ClipboardConfirmationWindow.zig");
|
||||||
const Position = @import("parent.zig").Position;
|
const Parent = @import("relation.zig").Parent;
|
||||||
const Parent = @import("parent.zig").Parent;
|
|
||||||
const inspector = @import("inspector.zig");
|
const inspector = @import("inspector.zig");
|
||||||
const gtk_key = @import("key.zig");
|
const gtk_key = @import("key.zig");
|
||||||
const c = @import("c.zig");
|
const c = @import("c.zig");
|
||||||
|
@ -6,7 +6,8 @@ const assert = std.debug.assert;
|
|||||||
const font = @import("../../font/main.zig");
|
const font = @import("../../font/main.zig");
|
||||||
const CoreSurface = @import("../../Surface.zig");
|
const CoreSurface = @import("../../Surface.zig");
|
||||||
const Paned = @import("Paned.zig");
|
const Paned = @import("Paned.zig");
|
||||||
const Parent = @import("parent.zig").Parent;
|
const Parent = @import("relation.zig").Parent;
|
||||||
|
const Child = @import("relation.zig").Child;
|
||||||
const Surface = @import("Surface.zig");
|
const Surface = @import("Surface.zig");
|
||||||
const Window = @import("Window.zig");
|
const Window = @import("Window.zig");
|
||||||
const c = @import("c.zig");
|
const c = @import("c.zig");
|
||||||
@ -15,12 +16,6 @@ const log = std.log.scoped(.gtk);
|
|||||||
|
|
||||||
pub const GHOSTTY_TAB = "ghostty_tab";
|
pub const GHOSTTY_TAB = "ghostty_tab";
|
||||||
|
|
||||||
pub const Child = union(enum) {
|
|
||||||
surface: *Surface,
|
|
||||||
paned: *Paned,
|
|
||||||
none,
|
|
||||||
};
|
|
||||||
|
|
||||||
window: *Window,
|
window: *Window,
|
||||||
label_text: *c.GtkLabel,
|
label_text: *c.GtkLabel,
|
||||||
close_button: *c.GtkButton,
|
close_button: *c.GtkButton,
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
const Surface = @import("Surface.zig");
|
||||||
const Paned = @import("Paned.zig");
|
const Paned = @import("Paned.zig");
|
||||||
const Tab = @import("Tab.zig");
|
const Tab = @import("Tab.zig");
|
||||||
|
|
||||||
@ -7,10 +8,16 @@ pub const Position = enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
pub const Parent = union(enum) {
|
pub const Parent = union(enum) {
|
||||||
none: void,
|
none,
|
||||||
tab: *Tab,
|
tab: *Tab,
|
||||||
paned: struct {
|
paned: struct {
|
||||||
*Paned,
|
*Paned,
|
||||||
Position,
|
Position,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pub const Child = union(enum) {
|
||||||
|
none,
|
||||||
|
surface: *Surface,
|
||||||
|
paned: *Paned,
|
||||||
|
};
|
Reference in New Issue
Block a user