2017-11-03 1 views
0

Ich liebe es, ein sehr kompaktes Thema für Eclipse zu haben. Es ist einfach, mit GTK2, aber jetzt mit Sauerstoff, habe ich mehr und mehr Dinge, die gebrochen sind, und ich versuche, einen guten kompakten Stil mit GTK3 zu bekommen.Eclipse css Styling: Überschreiben Layout SWT.HORIZONTALE?

Ich las eine Menge Dinge darüber und der Hauptgewinn war, nur "Minwaita" Thema zu verwenden. Es hilft sehr!

Aber ich habe immer noch eine schreckliche 16px Breite verloren wegen der Perspektive swticher. Ich fand es dank der „e4 Spione“ Plug-in und ich auch erfolgreich einige Eigenschaften wie auf dem folgenden Bild zu sehen ist:

enter image description here

Also, das Problem der grüne Teil ist. Und ich sehe, dass es bis zu einem gewissen SWT Eigenschaft beruht, wie durch e4 css Spion auf dem Element berichtet:

CSS Properties: 
    eclipse-perspective-keyline-color: rgb(88, 88, 88); 
    handle-image: none; 
    color: rgb(255, 255, 255); 
    background-color: rgb(0, 255, 0); 

CSS Classes: 
    MToolControl 
    Draggable 
    HIDEABLE 
    SHOW_RESTORE_MENU 

CSS ID: 
    PerspectiveSwitcher 

SWT Style Bits: 
    SWT.LEFT_TO_RIGHT 
    SWT.DOUBLE_BUFFERED 

CSS Class Element: 
    org.eclipse.e4.ui.css.swt.dom.CompositeElement 

SWT Layout: RowLayout {type=SWT.HORIZONTAL marginLeft=8 marginTop=6 
      marginRight=8 marginBottom=4 spacing=3 wrap=true pack=true 
      fill=false justify=false} 
Bounds: x=1877 y=190 h=154 w=43 

Ich habe versucht, dass im letzten Teil außer Kraft zu setzen mit margin-left und/oder padding-left, mit dem Wert von 0 und -8px, darauf, auf Eltern, auf Kindern. Nichts scheint zu funktionieren.

Also weiß jemand, ob es möglich ist, und wenn ja, wie die SWT Layout marginLeft und margingRight Eigenschaften zu überschreiben?

Antwort

1

Beim Betrachten der Eclipse-CSS-Elementdefinitionen sind die Werte für die Auffüllung nur für CTabFolder verfügbar.

‚margin-xxx‘ Werte können für jede Steuerung eingestellt werden, aber die Composite die Steuerung enthalten, müssen GridLayout und ein Flag bezeichnet werden indem CSSSWTConstants.MARGIN_WRAPPER_KEY müssen in dem Verbunddaten eingestellt werden.

Da das von Ihnen betrachtete Composite RowLayout verwendet, können die Ränder nicht festgelegt werden (es sei denn, Sie schreiben einen eigenen Property-Handler).

Hinweis: CSS-Elementeigenschaften werden mit dem Erweiterungspunkt org.eclipse.e4.ui.css.core.elementProvider definiert und befinden sich meistens im org.eclipse.e4.ui.css.swt-Plugin. Die Eigenschaften 'margin-xxx' werden von der Klasse org.eclipse.e4.ui.css.swt.properties.css2.CSSPropertyMarginSWTHandler behandelt.

+0

OK danke, Ihre Antwort für jetzt validieren, scheint es zu bestätigen, was ich woanders gefunden habe. Ich werde einen Bug auf Eclipse Bugtracker aufstellen. – fanf42

+0

Als Referenz hier Ticket geöffnet: https://bugs.eclipse.org/bugs/show_bug.cgi?id=526839 – fanf42