commonRenderingPipelinePropertyGridComponent.tsx 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import * as React from "react";
  2. import { Observable } from "babylonjs/Misc/observable";
  3. import { PropertyChangedEvent } from "../../../../propertyChangedEvent";
  4. import { LineContainerComponent } from "../../../../../sharedUiComponents/lines/lineContainerComponent";
  5. import { TextLineComponent } from "../../../../../sharedUiComponents/lines/textLineComponent";
  6. import { LockObject } from "../../../../../sharedUiComponents/tabs/propertyGrids/lockObject";
  7. import { PostProcessRenderPipeline } from 'babylonjs/PostProcesses/RenderPipeline/postProcessRenderPipeline';
  8. import { GlobalState } from '../../../../globalState';
  9. import { SliderLineComponent } from '../../../../../sharedUiComponents/lines/sliderLineComponent';
  10. interface ICommonRenderingPipelinePropertyGridComponentProps {
  11. globalState: GlobalState;
  12. renderPipeline: PostProcessRenderPipeline;
  13. lockObject: LockObject;
  14. onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
  15. }
  16. export class CommonRenderingPipelinePropertyGridComponent extends React.Component<ICommonRenderingPipelinePropertyGridComponentProps> {
  17. constructor(props: ICommonRenderingPipelinePropertyGridComponentProps) {
  18. super(props);
  19. }
  20. render() {
  21. const renderPipeline = this.props.renderPipeline;
  22. const renderPipelineAsAny = renderPipeline as any;
  23. return (
  24. <div>
  25. <LineContainerComponent title="GENERAL">
  26. <TextLineComponent label="Name" value={renderPipeline.name} />
  27. <TextLineComponent label="Class" value={renderPipeline.getClassName()} />
  28. {
  29. renderPipelineAsAny.samples !== undefined &&
  30. <SliderLineComponent label="Samples" minimum={1} maximum={8} step={1} decimalCount={0} target={renderPipeline} propertyName="samples" onPropertyChangedObservable={this.props.onPropertyChangedObservable} />
  31. }
  32. </LineContainerComponent>
  33. </div>
  34. );
  35. }
  36. }