Implemented non-wrapping multiline entries in GTK+ and started implementing them in OS X.
This commit is contained in:
parent
313ce47833
commit
07cd03452d
|
@ -101,7 +101,7 @@ void uiMultilineEntrySetReadOnly(uiMultilineEntry *e, int readonly)
|
||||||
[e->tv setEditable:editable];
|
[e->tv setEditable:editable];
|
||||||
}
|
}
|
||||||
|
|
||||||
uiMultilineEntry *uiNewMultilineEntry(void)
|
static uiMultilineEntry *finishMultilineEntry(BOOL hscroll)
|
||||||
{
|
{
|
||||||
uiMultilineEntry *e;
|
uiMultilineEntry *e;
|
||||||
NSFont *font;
|
NSFont *font;
|
||||||
|
@ -110,7 +110,7 @@ uiMultilineEntry *uiNewMultilineEntry(void)
|
||||||
|
|
||||||
e->sv = [[NSScrollView alloc] initWithFrame:NSZeroRect];
|
e->sv = [[NSScrollView alloc] initWithFrame:NSZeroRect];
|
||||||
// TODO verify against Interface Builder
|
// TODO verify against Interface Builder
|
||||||
[e->sv setHasHorizontalScroller:NO];
|
[e->sv setHasHorizontalScroller:hscroll];
|
||||||
[e->sv setHasVerticalScroller:YES];
|
[e->sv setHasVerticalScroller:YES];
|
||||||
[e->sv setAutohidesScrollers:YES];
|
[e->sv setAutohidesScrollers:YES];
|
||||||
[e->sv setBorderType:NSBezelBorder];
|
[e->sv setBorderType:NSBezelBorder];
|
||||||
|
@ -173,6 +173,16 @@ uiMultilineEntry *uiNewMultilineEntry(void)
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uiMultilineEntry *uiNewMultilineEntry(void)
|
||||||
|
{
|
||||||
|
return finishMultilineEntry(NO);
|
||||||
|
}
|
||||||
|
|
||||||
|
uiMultilineEntry *uiNewNonWrappingMultilineEntry(void)
|
||||||
|
{
|
||||||
|
return finishMultilineEntry(YES);
|
||||||
|
}
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
#if 0
|
#if 0
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,7 @@ void uiMultilineEntrySetReadOnly(uiMultilineEntry *e, int readonly)
|
||||||
gtk_text_view_set_editable(e->textview, editable);
|
gtk_text_view_set_editable(e->textview, editable);
|
||||||
}
|
}
|
||||||
|
|
||||||
uiMultilineEntry *uiNewMultilineEntry(void)
|
static uiMultilineEntry *finishMultilineEntry(GtkPolicyType hpolicy, GtkWrapMode wrapMode)
|
||||||
{
|
{
|
||||||
uiMultilineEntry *e;
|
uiMultilineEntry *e;
|
||||||
|
|
||||||
|
@ -91,13 +91,13 @@ uiMultilineEntry *uiNewMultilineEntry(void)
|
||||||
e->scontainer = GTK_CONTAINER(e->widget);
|
e->scontainer = GTK_CONTAINER(e->widget);
|
||||||
e->sw = GTK_SCROLLED_WINDOW(e->widget);
|
e->sw = GTK_SCROLLED_WINDOW(e->widget);
|
||||||
gtk_scrolled_window_set_policy(e->sw,
|
gtk_scrolled_window_set_policy(e->sw,
|
||||||
GTK_POLICY_NEVER,
|
hpolicy,
|
||||||
GTK_POLICY_AUTOMATIC);
|
GTK_POLICY_AUTOMATIC);
|
||||||
gtk_scrolled_window_set_shadow_type(e->sw, GTK_SHADOW_IN);
|
gtk_scrolled_window_set_shadow_type(e->sw, GTK_SHADOW_IN);
|
||||||
|
|
||||||
e->textviewWidget = gtk_text_view_new();
|
e->textviewWidget = gtk_text_view_new();
|
||||||
e->textview = GTK_TEXT_VIEW(e->textviewWidget);
|
e->textview = GTK_TEXT_VIEW(e->textviewWidget);
|
||||||
gtk_text_view_set_wrap_mode(e->textview, GTK_WRAP_WORD);
|
gtk_text_view_set_wrap_mode(e->textview, wrapMode);
|
||||||
|
|
||||||
gtk_container_add(e->scontainer, e->textviewWidget);
|
gtk_container_add(e->scontainer, e->textviewWidget);
|
||||||
// and make the text view visible; only the scrolled window's visibility is controlled by libui
|
// and make the text view visible; only the scrolled window's visibility is controlled by libui
|
||||||
|
@ -110,3 +110,13 @@ uiMultilineEntry *uiNewMultilineEntry(void)
|
||||||
|
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uiMultilineEntry *uiNewMultilineEntry(void)
|
||||||
|
{
|
||||||
|
return finishMultilineEntry(GTK_POLICY_NEVER, GTK_WRAP_WORD);
|
||||||
|
}
|
||||||
|
|
||||||
|
uiMultilineEntry *uiNewNonWrappingMultilineEntry(void)
|
||||||
|
{
|
||||||
|
return finishMultilineEntry(GTK_POLICY_AUTOMATIC, GTK_WRAP_NONE);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue