Background Image from command line

This topic has been viewed 6066 times and has 4 replies
Thread status: Active
Questions about extending features and developing plug-ins [img]http://www.sweethome3d.com/images/flags/en_small.gif[/img]
Post Reply New Topic
kerfmas4
Posts: 3
Joined: Fri Aug 26, 2011 2:42 pm

Background Image from command line

Post by kerfmas4 »

Hello all.
I would like to know if there is any way of execute a command to set the background image. Or command line.
I normally work with c# and before starting learning java, wanted to know if its possible to connect some simple functions like preferences,background image with c#.
Or if its possible to do programming a plugin.
The views preferences are easy to solve due to we can save a sh3d file and load through an external program renaming it.
So, what do you think will be more easy for me.

For the future I would like to integrate a little window sh3d viewer with move, zoom, just this. A form control would be perfect.
Thanks.
kerfmas4
Posts: 3
Joined: Fri Aug 26, 2011 2:42 pm

Re: Background Image from command line

Post by kerfmas4 »

OK. Finally I've decided to learn more about java. Now I can set a predefined Jpg as backgroundimage from the menu bar.
My new question is: How could I autoload this plugin function when the application starts without clicking on the menu item?
Thanks in advance.
User avatar
Puybaret
Posts: 9440
Joined: Mon Nov 07, 2005 12:00 pm
Country: Paris, France
Contact:

Re: Background Image from command line

Post by Puybaret »

Welcome to Sweet Home 3D developer world. [:)]
How could I autoload this plugin function when the application starts without clicking on the menu item?
If you want to program this only from the plugin you already created, you could set the background image of the current home in the getActions method you programmed. I guess this is not very clean, but it seems like a init method is missing in the Plugin class.
Emmanuel Puybaret, Sweet Home 3D creator
kerfmas4
Posts: 3
Joined: Fri Aug 26, 2011 2:42 pm

Re: Background Image from command line

Post by kerfmas4 »

First of all, thanks a lot for your help. Now the code result that worked.

Code: Select all

package com.eteks.test;

import java.net.URL; 
import java.net.MalformedURLException; 
import com.eteks.sweethome3d.plugin.Plugin; 
import com.eteks.sweethome3d.plugin.PluginAction; 
import com.eteks.sweethome3d.model.BackgroundImage;
import com.eteks.sweethome3d.model.Content;
import com.eteks.sweethome3d.tools.URLContent;

public class SetBackgroundPlugin extends Plugin {
  public BackgroundImage ImagenFondo() throws MalformedURLException {
    URL u = new URL( "file:/c:/4683.jpg");
    Content content = new URLContent(u);
    return new BackgroundImage(content, 2500, 0, 0, 700, 700, 0, 0);
  }
  
  public class SetBackgroundAction extends PluginAction {
     public SetBackgroundAction() {
       putPropertyValue(Property.NAME, "Compute volume");
       putPropertyValue(Property.MENU, "Tools");
       // Enables the action by default 
       setEnabled(true);
     }
 
     @Override public void execute() {
     }
  }
  
  @Override 
  public PluginAction[] getActions() {
    try {
      getHome().setBackgroundImage(ImagenFondo());
    } catch (MalformedURLException e) {
      e.printStackTrace();
    }
    return new PluginAction [] {new SetBackgroundAction()};
  }
}


Thanks again.

[Note from moderator: fixed code format]
User avatar
Puybaret
Posts: 9440
Joined: Mon Nov 07, 2005 12:00 pm
Country: Paris, France
Contact:

Re: Background Image from command line

Post by Puybaret »

Great you succeeded!
I fixed the code format otherwise it was unreadable.
Emmanuel Puybaret, Sweet Home 3D creator
Post Reply New Topic

Who is online

Users browsing this forum: No registered users and 1 guest