pub trait GuiContainer_Impl<T: HasIDispatch = Self>: HasIDispatch<T> {
    // Provided methods
    fn children(&self) -> Result<GuiComponentCollection> { ... }
    fn find_by_id(&self, p0: String) -> Result<SAPComponent> { ... }
}

Provided Methods§

source

fn children(&self) -> Result<GuiComponentCollection>

source

fn find_by_id(&self, p0: String) -> Result<SAPComponent>

Examples found in repository?
examples/simple.rs (line 47)
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
fn main() -> crate::Result<()> {
    // Initialise the environment.
    let com_instance = SAPComInstance::new().expect("Couldn't get COM instance");
    let wrapper = com_instance.sap_wrapper().expect("Couldn't get SAP wrapper");
    let engine = wrapper.scripting_engine().expect("Couldn't get GuiApplication instance");

    let connection = match sap_scripting::GuiApplication_Impl::children(&engine)?.element_at(0)? {
        SAPComponent::GuiConnection(conn) => conn,
        _ => panic!("expected connection, but got something else!"),
    };
    eprintln!("Got connection");
    let session = match sap_scripting::GuiConnection_Impl::children(&connection)?.element_at(0)? {
        SAPComponent::GuiSession(session) => session,
        _ => panic!("expected session, but got something else!"),
    };

    if let SAPComponent::GuiMainWindow(wnd) = session.find_by_id("wnd[0]".to_owned())? {
        wnd.maximize().unwrap();

        if let SAPComponent::GuiOkCodeField(tbox_comp) =
            session.find_by_id("wnd[0]/tbar[0]/okcd".to_owned())?
        {
            tbox_comp.set_text("/nfpl9".to_owned()).unwrap();
            wnd.send_v_key(0).unwrap();
        } else {
            panic!("no ok code field!");
        }
    } else {
        panic!("no window!");
    }

    Ok(())
}
More examples
Hide additional examples
examples/charge.rs (line 19)
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
fn main() -> crate::Result<()> {
    let com_instance = SAPComInstance::new().expect("Couldn't get COM instance");
    let wrapper = com_instance.sap_wrapper().expect("Couldn't get SAP wrapper");
    let engine = wrapper.scripting_engine().expect("Couldn't get GuiApplication instance");

    let connection = match sap_scripting::GuiApplication_Impl::children(&engine)?.element_at(0)? {
        SAPComponent::GuiConnection(conn) => conn,
        _ => panic!("expected connection, but got something else!"),
    };
    eprintln!("Got connection");
    let session = match sap_scripting::GuiConnection_Impl::children(&connection)?.element_at(0)? {
        SAPComponent::GuiSession(session) => session,
        _ => panic!("expected session, but got something else!"),
    };

    if let SAPComponent::GuiMainWindow(wnd) = session.find_by_id("wnd[0]".to_owned())? {
        wnd.maximize().unwrap();
        session.start_transaction("fpe1".to_string())?;

        match session.find_by_id("wnd[0]/usr/ctxtFKKKO-BLART".to_string())? {
            SAPComponent::GuiCTextField(ctxt) => ctxt.set_text("P1".to_string())?,
            _ => panic!("expected doc type ctextfield")
        }
        match session.find_by_id("wnd[0]/usr/ctxtFKKKO-WAERS".to_string())? {
            SAPComponent::GuiCTextField(ctxt) => ctxt.set_text("GBP".to_string())?,
            _ => panic!("expected currency ctextfield")
        }
        match session.find_by_id("wnd[0]/usr/txtFKKKO-XBLNR".to_string())? {
            SAPComponent::GuiTextField(txt) => txt.set_text("XA12345678".to_string())?,
            _ => panic!("expected reference textfield")
        }
    } else {
        panic!("no window!");
    }

    Ok(())
}

Implementors§

source§

impl GuiContainer_Impl<GuiApplication> for GuiApplication

source§

impl GuiContainer_Impl<GuiBarChart> for GuiBarChart

source§

impl GuiContainer_Impl<GuiCalendar> for GuiCalendar

source§

impl GuiContainer_Impl<GuiChart> for GuiChart

source§

impl GuiContainer_Impl<GuiColorSelector> for GuiColorSelector

source§

impl GuiContainer_Impl<GuiComboBoxControl> for GuiComboBoxControl

source§

impl GuiContainer_Impl<GuiConnection> for GuiConnection

source§

impl GuiContainer_Impl<GuiContainer> for GuiContainer

source§

impl GuiContainer_Impl<GuiContainerShell> for GuiContainerShell

source§

impl GuiContainer_Impl<GuiCustomControl> for GuiCustomControl

source§

impl GuiContainer_Impl<GuiDialogShell> for GuiDialogShell

source§

impl GuiContainer_Impl<GuiDockShell> for GuiDockShell

source§

impl GuiContainer_Impl<GuiEAIViewer2D> for GuiEAIViewer2D

source§

impl GuiContainer_Impl<GuiEAIViewer3D> for GuiEAIViewer3D

source§

impl GuiContainer_Impl<GuiFrameWindow> for GuiFrameWindow

source§

impl GuiContainer_Impl<GuiGOSShell> for GuiGOSShell

source§

impl GuiContainer_Impl<GuiGraphAdapt> for GuiGraphAdapt

source§

impl GuiContainer_Impl<GuiGridView> for GuiGridView

source§

impl GuiContainer_Impl<GuiHTMLViewer> for GuiHTMLViewer

source§

impl GuiContainer_Impl<GuiInputFieldControl> for GuiInputFieldControl

source§

impl GuiContainer_Impl<GuiMainWindow> for GuiMainWindow

source§

impl GuiContainer_Impl<GuiMap> for GuiMap

source§

impl GuiContainer_Impl<GuiMenu> for GuiMenu

source§

impl GuiContainer_Impl<GuiMenubar> for GuiMenubar

source§

impl GuiContainer_Impl<GuiModalWindow> for GuiModalWindow

source§

impl GuiContainer_Impl<GuiNetChart> for GuiNetChart

source§

impl GuiContainer_Impl<GuiOfficeIntegration> for GuiOfficeIntegration

source§

impl GuiContainer_Impl<GuiPicture> for GuiPicture

source§

impl GuiContainer_Impl<GuiSapChart> for GuiSapChart

source§

impl GuiContainer_Impl<GuiScrollContainer> for GuiScrollContainer

source§

impl GuiContainer_Impl<GuiSession> for GuiSession

source§

impl GuiContainer_Impl<GuiShell> for GuiShell

source§

impl GuiContainer_Impl<GuiSimpleContainer> for GuiSimpleContainer

source§

impl GuiContainer_Impl<GuiSplit> for GuiSplit

source§

impl GuiContainer_Impl<GuiSplitterContainer> for GuiSplitterContainer

source§

impl GuiContainer_Impl<GuiStage> for GuiStage

source§

impl GuiContainer_Impl<GuiStatusbar> for GuiStatusbar

source§

impl GuiContainer_Impl<GuiTab> for GuiTab

source§

impl GuiContainer_Impl<GuiTabStrip> for GuiTabStrip

source§

impl GuiContainer_Impl<GuiTableControl> for GuiTableControl

source§

impl GuiContainer_Impl<GuiTextedit> for GuiTextedit

source§

impl GuiContainer_Impl<GuiTitlebar> for GuiTitlebar

source§

impl GuiContainer_Impl<GuiToolbar> for GuiToolbar

source§

impl GuiContainer_Impl<GuiToolbarControl> for GuiToolbarControl

source§

impl GuiContainer_Impl<GuiTree> for GuiTree

source§

impl GuiContainer_Impl<GuiUserArea> for GuiUserArea

source§

impl GuiContainer_Impl<GuiVContainer> for GuiVContainer