Skip to content

Commit

Permalink
factor element sizing out of EditDialog
Browse files Browse the repository at this point in the history
  • Loading branch information
jjallaire committed Jan 1, 2012
1 parent 3630b7e commit 6bcf4e4
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 18 deletions.
21 changes: 21 additions & 0 deletions src/gwt/src/org/rstudio/core/client/dom/DomMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,25 @@ public static Size adjustedElementSize(Size contentSize,
int height = Math.min(contentSize.height, maximumSize.height);
return new Size(width, height);
}

public static Size adjustedCodeElementSize(String code,
int contentPad,
int clientMargin)
{
// line numbers
final int LINE_NUMBERS_WIDTH = 100;

// calculate the size of the text the adjust for line numbers
Size textSize = DomMetrics.measureCode(code);
textSize = new Size(textSize.width + LINE_NUMBERS_WIDTH,
textSize.height);

// compute the editor size
Size minimumSize = new Size(300, 200);
Size editorSize = DomMetrics.adjustedElementSize(textSize,
minimumSize,
contentPad,
clientMargin);
return editorSize;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -71,24 +71,10 @@ public void onClick(ClickEvent event)
@Override
protected Widget createMainWidget()
{
// line numbers
final int LINE_NUMBERS_WIDTH = 100;

// calculate the size of the text the adjust for line numbers
Size textSize = DomMetrics.measureCode(sourceText_);
textSize = new Size(textSize.width + LINE_NUMBERS_WIDTH,
textSize.height);

// compute the editor size
Size minimumSize = new Size(300, 200);
Size editorSize = DomMetrics.adjustedElementSize(textSize,
minimumSize,
25, // pad
100); // client margin

// set size
// create widget and set size
Widget editWidget = editor_.getWidget();
editWidget.setSize(editorSize.width + "px", editorSize.height + "px");
Size size = DomMetrics.adjustedCodeElementSize(sourceText_, 25, 100);
editWidget.setSize(size.width + "px", size.height + "px");

editor_.setCode(sourceText_, false);
if (isRCode_)
Expand All @@ -109,7 +95,7 @@ protected Widget createMainWidget()
// return the widget
SimplePanel panel = new SimplePanel();
panel.addStyleName("EditDialog");
panel.setSize(editorSize.width + "px", editorSize.height + "px");
panel.setSize(size.width + "px", size.height + "px");
panel.setWidget(editWidget);

if (headerWidget_ != null)
Expand Down

0 comments on commit 6bcf4e4

Please sign in to comment.