Johan Rylander

2012-01-03

Är jag i view eller edit mode

Postat i: Polopoly, Uncategorized — Etiketter: — Johan Rylander @ 16:36

Eftersom jag ständigt glömmer bort koden, härna:

boolean editMode;

@Override
public void preRender(OrchidContext oc) throws OrchidException {
editMode = (getContentSession().getMode() == ContentSession.EDIT_MODE);
}

2011-12-22

Se till att IntelliJ känner igen typer i Velocity-filer

Postat i: java, Programming — Johan Rylander @ 11:25

Du kan lägga in kommentarer i Velocity-filer för att låta IntelliJ förstå vilken typ de har och därmed få completion etc.

En dylik kommentar ser ut så här:

#* @vtlvariable name="fields" type="java.util.List<example.MyClass.MyInnerClass>" *#

Se: http://www.jetbrains.com/idea/features/freemarker_velocity.html

2011-12-21

Velocity i Polopoly output templates i IntelliJ

Postat i: java, Polopoly, Programming — Johan Rylander @ 15:08

IntelliJ kan som bekant förstå språk injectade i andra språk såsom t ex att använda regexp i en sträng-parameter till en Java-metod.

För att låta IntelliJ förstå Velocity inuti Polopoly output templates, lägg till en ”language injection” under Project Settings->Language Injections och ställ in:

  • ID: VTL
  • Prefix: <![CDATA[
  • Suffix: ]]>
  • Local Name: component
  • Namespace: http://www.polopoly.com/polopoly/cm/app/xml
  • XPath Condition: @group=”output/renderer/selected/default” and @name=”value”

Nu känns Velocity igen som språk:

2011-12-15

Officiella Google Galaxy Nexus ROM:ar

Postat i: Uncategorized — Etiketter: — Johan Rylander @ 15:34

Finns här: http://code.google.com/android/nexus/images.html

2011-10-05

Två trevliga git svn-alias

Postat i: Programming — Johan Rylander @ 16:34
rebase='git stash && git svn rebase && git stash pop'

och

dcommit='git stash && git svn dcommit && git stash pop'

2011-10-03

Getting to the response object in Atex Polopoly SiteEngine/Live Layout Manager

Postat i: java, Polopoly, Programming — Johan Rylander @ 15:47
private HttpServletResponse getWrappedRenderResponse(RenderRequest renderRequest) {
    RenderResponseCollectorHttp responseCollector = (RenderResponseCollectorHttp) renderRequest.getAttribute("p.request.wrapresponsestack");
    return (HttpServletResponse) responseCollector.getWrappedRenderResponse();
}

2011-08-22

Java encoding i maven 2.x

Postat i: java, Programming — Johan Rylander @ 13:45

Lägg till i pom.xml, antingen direkt i build eller i profile/build

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
 <configuration>
 <encoding>ISO-8859-1</encoding>
 </configuration>
</plugin>

2011-08-17

Dela disk mellan Windows 7 och ubuntu 11.04 (nutty)

Postat i: Computers — Johan Rylander @ 11:09

För det första måste open-source-varianten av vm-tools vara avinstallerade (se http://www.vmware.com/pdf/osp_install_guide.pdf)

Sedan kan du hälla in VMWares variant av samma.

Sedan laddas (för mig) inte vmhgfs automatiskt utan kan göras med sudo modprobe vmhgfs

Mount måste fixas med att skapa mount points: sudo mkdir -p /mnt/hgfs

Och den måste in i fstab, lägg till nederst:

.host:/ /mnt/hgfs vmhgfs auto,rw,exec,utf8 0 0

Sedan gick det att mounta med sudo mount -a (efter att ha shareat i VMWare-menyn)

2011-08-03

Negativ marginal i innesluten vy gör att ScrollView inte fungerar

Postat i: Android — Johan Rylander @ 14:49

När jag hade en RelativeLayout i en ScrollView där RelativeLayout hade android:layout_marginBottom=”-30dp” blev det ingen scroll funktion från ScrollView. Antar att det är ”bug” i Android. Provat i 2.3 och 2.1.

Custom AlertDialog

Postat i: Android — Johan Rylander @ 9:11

När du sätter en egen vy på AlertDialog måste du ta bort den också för att kunna anropa show() igen senare. Kanske finns det andra sätt men det här funkar i alla fall. Grejen är alltså att anropa ((ViewGroup)layoutView.getParent()).removeView(layoutView) när dialogen stängs:

      LayoutInflater inflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);
      final View layoutView = inflater.inflate(R.layout.may_layout, null);
      final AlertDialog.Builder dlg = new AlertDialog.Builder(context)
          .setTitle(R.string.my_dialog_title)
          .setView(layoutView);

      dlg.setPositiveButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialogInterface, int i) {
        // do some fun
          ((ViewGroup)layoutView.getParent()).removeView(layoutView);
        }
      });
      dlg.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialogInterface, int i) {
          ((ViewGroup)layoutView.getParent()).removeView(layoutView);
        }
      });

      // Vad du nu vill koppla ett klick till
      xxx.setOnClickListener(
          new OnClickListener() {
            public boolean onClick(Preference preference) {
              dlg.show();
              return true;
            }
          }
      );
Äldre inlägg »

Tema: Silver is the New Black. Blogga med WordPress.com.

Follow

Get every new post delivered to your Inbox.