コード例 #1
0
nsresult
nsGfxButtonControlFrame::GetLabel(nsXPIDLString& aLabel)
{
    // Get the text from the "value" property on our content if there is
    // one; otherwise set it to a default value (localized).
    nsresult rv;
    nsCOMPtr<nsIDOMHTMLInputElement> elt = do_QueryInterface(mContent);
    if (mContent->HasAttr(kNameSpaceID_None, nsGkAtoms::value) && elt) {
        rv = elt->GetValue(aLabel);
    } else {
        // Generate localized label.
        // We can't make any assumption as to what the default would be
        // because the value is localized for non-english platforms, thus
        // it might not be the string "Reset", "Submit Query", or "Browse..."
        rv = GetDefaultLabel(aLabel);
    }

    NS_ENSURE_SUCCESS(rv, rv);

    // Compress whitespace out of label if needed.
    if (!StyleText()->WhiteSpaceIsSignificant()) {
        aLabel.CompressWhitespace();
    } else if (aLabel.Length() > 2 && aLabel.First() == ' ' &&
               aLabel.CharAt(aLabel.Length() - 1) == ' ') {
        // This is a bit of a hack.  The reason this is here is as follows: we now
        // have default padding on our buttons to make them non-ugly.
        // Unfortunately, IE-windows does not have such padding, so people will
        // stick values like " ok " (with the spaces) in the buttons in an attempt
        // to make them look decent.  Unfortunately, if they do this the button
        // looks way too big in Mozilla.  Worse yet, if they do this _and_ set a
        // fixed width for the button we run into trouble because our focus-rect
        // border/padding and outer border take up 10px of the horizontal button
        // space or so; the result is that the text is misaligned, even with the
        // recentering we do in nsHTMLButtonFrame::Reflow.  So to solve this, even
        // if the whitespace is significant, single leading and trailing _spaces_
        // (and not other whitespace) are removed.  The proper solution, of
        // course, is to not have the focus rect painting taking up 6px of
        // horizontal space. We should do that instead (via XBL form controls or
        // changing the renderer) and remove this.
        aLabel.Cut(0, 1);
        aLabel.Truncate(aLabel.Length() - 1);
    }

    return NS_OK;
}
コード例 #2
0
ファイル: findresultstab.cpp プロジェクト: Jactry/codelite
void FindResultsTab::OnStyleNeeded(wxStyledTextEvent& e)
{
    wxStyledTextCtrl* ctrl = dynamic_cast<wxStyledTextCtrl*>(e.GetEventObject());
    if(!ctrl) return;
    StyleText(ctrl, e);
}
コード例 #3
0
ファイル: clFindResultsStyler.cpp プロジェクト: CM44/codelite
void clFindResultsStyler::OnStyleNeeded(wxStyledTextEvent& e)
{
    e.Skip();
    StyleText(m_stc, e, false);
}